나는 미국 포맷 ($ 1.50)에 대한 통화 값과 일치하도록 완벽하게 노력이 정규식이 :정규식
Regex money = new Regex(@"\w\^\$(\d{1,3}(\,\d{3})*|(\d+))(\.\d{2})?$");
내가 그와 같은 정규 표현식을 구축하는 방법을 이해하는 데 도움이 싶습니다 내 나라의 형식을 변경해야합니다. $을 R $으로 변경하십시오. 내가 MSDN의 주제를 찾고 있어요 아무것도 지금까지 일하지
...
나는 미국 포맷 ($ 1.50)에 대한 통화 값과 일치하도록 완벽하게 노력이 정규식이 :정규식
Regex money = new Regex(@"\w\^\$(\d{1,3}(\,\d{3})*|(\d+))(\.\d{2})?$");
내가 그와 같은 정규 표현식을 구축하는 방법을 이해하는 데 도움이 싶습니다 내 나라의 형식을 변경해야합니다. $을 R $으로 변경하십시오. 내가 MSDN의 주제를 찾고 있어요 아무것도 지금까지 일하지
...
귀하의 질문 세 부분, 그리고에있다 나는 그것이 대부분 "낚시하는 법을 배우는 것"인 것처럼 들린다. 그것은 위대하다.
** A. 정규식 당신은 의견을 바탕으로
, 당신이 찾고있는 ** (see demo를) 원하는 : 정규식
의
^R\$\d+(?:\.\d{3})*,\d{2}$
B. 설명이 비교적 간단한 정규식이다, 이를 위해 자동 생성 된 설명을 읽을 수 있습니다. 여러 사이트에서이 작업을 수행합니다. 여기에 one입니다 (원래 사이트에서 더 잘 표시됩니다).
NODE EXPLANATION
-------------------------------------------------------------------------------- \w word characters (a-z, A-Z, 0-9, _)
-------------------------------------------------------------------------------- \^ '^'
-------------------------------------------------------------------------------- \$ '$'
-------------------------------------------------------------------------------- ( group and capture to \1:
--------------------------------------------------------------------------------
\d{1,3} digits (0-9) (between 1 and 3 times
(matching the most amount possible))
--------------------------------------------------------------------------------
( group and capture to \2 (0 or more times
(matching the most amount possible)):
--------------------------------------------------------------------------------
\, ','
--------------------------------------------------------------------------------
\d{3} digits (0-9) (3 times)
--------------------------------------------------------------------------------
)* end of \2 (NOTE: because you are using a
quantifier on this capture, only the
LAST repetition of the captured pattern
will be stored in \2)
-------------------------------------------------------------------------------- | OR
--------------------------------------------------------------------------------
( group and capture to \3:
--------------------------------------------------------------------------------
\d+ digits (0-9) (1 or more times
(matching the most amount possible))
--------------------------------------------------------------------------------
) end of \3
-------------------------------------------------------------------------------- ) end of \1
-------------------------------------------------------------------------------- ( group and capture to \4 (optional
(matching the most amount possible)):
--------------------------------------------------------------------------------
\. '.'
--------------------------------------------------------------------------------
\d{2} digits (0-9) (2 times)
-------------------------------------------------------------------------------- )? end of \4 (NOTE: because you are using a
quantifier on this capture, only the LAST
repetition of the captured pattern will be
stored in \4)
-------------------------------------------------------------------------------- $ before an optional \n, and the end of the
string
C. 어떻게 여기에 내가 추천하는 자원은 그
처럼 정규식을 구축 배울 수 있습니다.
책 : 정규 표현식 (3 에드) 마스터, 정규식 요리 책
웹 사이트 : regular-expressions.info, RexEgg, FAQ on SO
도구 : RegexBuddy (상업하지만 뛰어난 디버거) , regex101.com, Debuggex.com
당신은 그냥 그래서 당신의 정규식에 R
을 추가 할 수 있습니다
Regex rmoney = new Regex(@"\w\^R\$(\d{1,3}(\,\d{3})*|(\d+))(\.\d{2})?$");
튜토리얼/아티클 또는 빌드 방법을 알려줄 수있는 항목이 있습니까? 나는 슬래시 괄호 등을 이해하지 못합니다.; s – PlayHardGoPro
@ PlayHardGoPro, http://regexone.com/ – sshashank124
* isMatch *에 매개 변수로 * R $ 1,50 *을 전달하면 여전히 false를 반환합니다. . – PlayHardGoPro
** R ** * 전에 ** \ $ **을 놔두고 다음과 같이 둡니다. * Regex money = 새로운 정규식 (\ "\ w \^R \ $ (\ d {1,3} (\, \ d {3}) * | (\ d +)) (\. \ d {2})? $") ; *. 그리고 * isMatch * 값을 * R $ 1,50 *으로 사용하려고 시도합니다. 여전히 false를 반환합니다. 왜? – PlayHardGoPro
@PlayHardGoPro 귀하가 보낸 내용에 몇 가지 오타가 있습니다. regex101.com에서 그걸 가지고 놀면 결과를 볼 수 있습니다. ($ d {1,3} (, \ d {2}) * | (\ d +)) 바로 – zx81
@PlayHardGoPro 여기에 [데모] (http://regex101.com/r/nG6sX3)가 있습니다. 그런데 쉼표가 없으면 나머지 부분과 일치 할 수있는 부분이 있습니다. ? – zx81