請幫我找到字串的結尾并決議它。
我有這樣的字串“Some words”和“Some other words||MyTag”。請幫助我使用正則運算式檢查任何這些字串。但在第二種情況下,請提取“MyTag”。所以請分成兩組:“Some words”或“Some other words”和 MyTag 或空字串。
我試過“^([\W\w] )(?:||(.*))?” 但沒有任何成功。
uj5u.com熱心網友回復:
您可以創建 2 個捕獲組:
^(. ?)(?:\|\|(. ))?$
^字串的開始(. ?)捕獲組 1盡可能少地匹配除換行符以外的任何字符(?:非捕獲組\|\|(. )匹配||并捕獲第 2 組中的 1 個字符
)?關閉非捕獲組并使其可選$字串結束
如果第二部分不存在,那么將沒有第 2 組值。
正則運算式演示
您也可以考慮拆分 ||
沒有非貪心點的另一種選擇是不允許匹配|,只有當它不直接|使用負前瞻時。
^([^\r\n|]*(?:\|(?!\|)[^\r\n|]*)*)(?:\|\|(. ))?$
正則運算式演示
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/417922.html
標籤:
上一篇:將1個檔案的內容添加到另一個檔案的頂部而不用PHP覆寫?
下一篇:如何僅回顯帶有“h5”標簽的文本
