我有一個像這樣的字符串:匹配多個值
str = 'autocomplete=\\\"off\\\" name=\\\"composer_session_id\\\" value=\\\"1557423901\\\" \\\/>\\u003cinput type=\\\"hidden\\\" autocomplete=\\\"off\\\" name=\\\"is_explicit_place\\\" id=\\\"u436754_5\\\"';
和正則表達式匹配:
str.match(/(composer_session_id|is_explicit_place)\\" (?:value|id)=\\"([_a-zA-Z0-9]+)\\"/g)
它的工作(有點'),但儘管事實上,我使用的是捕獲羣體得到(composer_session_id|is_explicit_place)
和([_a-zA-Z0-9]+)
結果數組只包含兩個元素(最大匹配字符串):
["composer_session_id\" value=\"1557423901\"", "is_explicit_place\" id=\"u436754_5\""]
我在這裏錯過了什麼?
如何在一次運行中使用regexp獲取字符串:composer_session_id,is_explicit_place,1557423901和u436754_5?
加分要解釋爲什麼只有兩個字符串返回和解決方案獲取值我需要的不涉及使用split()
和/或replace()
。
你知道你可以嵌套捕獲組? –
是的,我知道 - 這對我有幫助嗎? – WTK
你可以給未經轉義的原始字符串和正則表達式嗎? – pastacool