2
문자열의 다른 부분을 모든 일치하는 그룹 안에있는 단어로 바꾸고 싶습니다. 나는이 문자열이있는 경우 그래서, :이 표현하려고자바 정규 표현식이 다른 그룹과 일치합니다
<td>id</td>
<td>name</td>
<td>id</td>
:
<td>{$phrase->getId()}</td>
<td>{$phrase['name']}</td>
<td>{$phrase['id']}</td>
나는 문자열을 얻을 수 있도록하고 싶습니다
\{\$\w+(?:\['(\w+)'\]|->get(\w+)\(\))\}
을하지만 때 input.replace(regex, "$1")
I 얻으십시오 :
<td></td>
<td>name</td>
<td>id</td>
나는 이것이 쉽지 않았다고 믿을 수 없다. 발견 한 대부분의 대답은'|'을 제거하겠다고 말하고 있었지만, 감사해야한다. –
@ lulian 왜 내가 캡처하지 않은 그룹을 사용했는지 모르겠습니다. – aelor
두 가지 변형을 번갈아 가며 사용할 수 있습니다. –