我试图从下面这样的模式中获取最后一个字符,正则表达式需要包含名称“C16P_P5_VC836”中存在的集合并匹配第一个 id 中的最后一个字符,在本例中为“4”,但这不会是始终是数字,也可以是字母。
我确实尝试过这样的事情,"id([\s\S]*?)C16P_P5_VC836"
但这不起作用,因为我需要来自名称一上方的 ID 字段的信息。
有人能指出我正确的方向吗,谢谢!
"id": "00000000-0000-0000-0000-000000000001",
"id": "00000000-0000-0000-0000-00000000000F",
"id": "00000000-0000-0000-0000-000000000004",
"name": "C16P_P5_VC836",
您可以选择重复所有前面的部分,然后捕获最后一行中右"id":
双引号之前的最后一个字符 az 或数字"id":
"name": "C16P_P5_VC836",
(?:"id":\s*"[^"]*",)*\r?\n\s*"id":\s*"[^"]*([a-zA-Z0-9])",\r?\n\s*"name":\s*"C16P_P5_VC836",
模式匹配:
(?:"id":\s*"[^"]*",)*
可选择重复该行"id":
\r?\n\s*"id":\s*"[^"]*
匹配最后一行"id":
([a-zA-Z0-9])
捕获组 1 中的单个字符 az 或数字",
从字面上匹配\r?\n\s*
匹配换行符和可选的空白字符"name":\s*"C16P_P5_VC836",
将线与 C16P_P5_VC836 匹配请参阅正则表达式 101 演示。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句