如何使用 Regex 匹配两个周围字符串(不包括周围字符串)之间出现的每个字符串?
How do I use Regex to match every occurrence of a string between two surrounding strings exclusive of the surrounding strings?
我正在为正则表达式而苦苦挣扎。这是我根据 hwnd 的建议(已解决我之前的问题)使用的命令(运行 Cygwin on Windows):
grep -Po '(?<="id":)[^,]+' regex_test.txt
如何更改正则表达式,以便创建的匹配项以 、{"id": 或 :[{"id": ?遗憾的是,当前表达式还捕获了不需要的 ID,这些 ID 以 :{"id":
为前缀
输入名为“regex_test.txt”的文本文件:
reason":{"id":25549177,“pattern":null},"iphone":[{"id":2411977008,version":null},{"id":2430057923,
输出:
25549177
2411977008
2430057923
期望的输出:
2411977008
2430057923
请告诉我您对这些问题的看法。
您可以使用 Positive Lookbehind 断言(如链接 answer 所示):
grep -Po '(?<="id":)[^,]+' regex_test.txt
我正在为正则表达式而苦苦挣扎。这是我根据 hwnd 的建议(已解决我之前的问题)使用的命令(运行 Cygwin on Windows):
grep -Po '(?<="id":)[^,]+' regex_test.txt
如何更改正则表达式,以便创建的匹配项以 、{"id": 或 :[{"id": ?遗憾的是,当前表达式还捕获了不需要的 ID,这些 ID 以 :{"id":
为前缀输入名为“regex_test.txt”的文本文件:
reason":{"id":25549177,“pattern":null},"iphone":[{"id":2411977008,version":null},{"id":2430057923,
输出:
25549177
2411977008
2430057923
期望的输出:
2411977008
2430057923
请告诉我您对这些问题的看法。
您可以使用 Positive Lookbehind 断言(如链接 answer 所示):
grep -Po '(?<="id":)[^,]+' regex_test.txt