카테고리 없음

[자바] 둥근 대괄호 감지를위한 정규식

행복을전해요 2021. 3. 2. 02:42

확실히 잘 작동합니다 ... 일치하는 문자열에 대해 테스트하면 :)

문제는 대문자로"Student (male): John" 시작 하고 소문자 를 일치 시키려고한다는 것 입니다. 그것은 얻는 것만 큼 간단합니다! S s

또는 다음 [()]중 하나와 일치 하는 사용할 수 있습니다 .()

p = p.replaceAll("[()]", "\\\\$0");

그건 그렇고, 나는 또한 당신이 줄을 바꿀 수 있음을 지적합니다.

p = p.replaceAll("\\(", "\\\\(");
p = p.replaceAll("\\)", "\\\\)");

다음을 사용하면됩니다.

p = Pattern.quote(p);

건배!

-------------------

다음은 원하는 작업을 수행하지 않습니다.

 p = p.replaceAll("\\(", "\\\\(");

당신은 교체 (\\\\(. \\\\(정규식 컴파일이다 \\(basicly 수단이 탈출하는 \다음 (의 탈출하지 (. 당신이 찾고있는 것은 다음과 같습니다.

 p = p.replaceAll("\\(", "\\(");
-------------------

인라인 String text = "Student (male): John";이 정규식과 일치하지 않기 때문에student \(male\)\:\s\w+

입력 텍스트를 text = "student (male): John";또는 첫 번째 구문 문자열로 교체phrases[0] = "Student (male)";

Ideone의



출처
https://stackoverflow.com/questions/22089836