2016-07-22 5 views
-1

텍스트 변수에 {{및}}을 (를) 포함하는 텍스트 템플릿이 있습니다.텍스트 자리 표시자를 정규 표현식으로 바꿉니다.

"{{and}}"와 (과) 일치하는 모든 것을 제공하려면 정규 표현식이 필요합니다.

예를 들어 텍스트에 {{FirstName}}이 (가)있는 경우 {{FirstName}}을 (를) 실제 변수로 바꿀 수있는 일치 항목으로 다시 표시하려고합니다.

이미 내게 무엇이 {그리고} 내게주는 정규 표현식을 찾았지만, 내가 원하는 것을 되돌리기 위해 어떻게 수정할 수 있는지 모르겠습니다.

/\{([^)]+)\}/ 
+0

합니까 C 번호는 유사한 기능을 갖는 ['java.lang.String의 # replace' (https://docs.oracle.com/javase /8/docs/api/java/lang/String.html#replace-java.lang.CharSequence-java.lang.CharSequence-)? – dorukayhan

답변

2

이 패턴은 트릭을 수행해야합니다 어쩌면

string str = "{{FirstName}} {{LastName}}"; 

Regex rgx = new Regex("{{.*?}}"); 

foreach (var match in rgx.Matches(str)) 
{ 
    // {{FirstName}} 
    // {{LastName}} 
} 
+1

더 좋은 대안은'Regex rgx = new Regex ("{{. *?}}");'이고, 중괄호 사이의 문자열이 거대한 경우,'Regex rgx = new Regex –

0

:

alert(/^\{{2}[\w|\s]+\}{2}$/.test('{{FirstName}}'))

^을 : 처음에.

$ : 결국.

\{{2} : 문자 { 2 번.

[\w|\s]+ : 알파벳 문자 또는 공백이 1 번 이상입니다.

\}{2} : 문자 } 2 번.

UPDATE :

alert(/(^\{{2})?[\w|\s]+(\}{2})?$/.test('FirstName'))

+0

** ** ** ** 문자열이 ['{.. ..}와 같은 경우에만 일치합니다. ..}}'] (https://regex101.com/r/vC6bQ2/1) – tchelidze

+0

@tchelidze 그래서 내가 downvote를 얻는 이유가 무엇입니까? –

+0

정규식 ** 업데이트 **는 [마지막 항목] (https://regex101.com/r/vC6bQ2/2)과 일치합니다. (* 부분적으로) – tchelidze