正则表达式:匹配第 n 次出现 [英] RegEx: Match nth occurrence
本文介绍了正则表达式:匹配第 n 次出现的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有以下字符串:
<预> <代码> _name = aVlTcWRjVG1YeDhucWdEbVFrN3pSOHZ5QTRjOEJZZmZUZXNIYW1PV2RGOWYrczBhVWRmdVJTMUxYazVBOE8zQ3JNMmNVKzJLM2JJTzFON3FiLzFHUE0xY0pkdz09LS1jbkkwaWoxUUl3YVhMMkhtZHpaOW13PT0 %" 3D - 57356371d167f"我想匹配 =
和结尾 "
(注意在这之后还有其他引号,所以我不能只选择最后一个 "
).
我尝试使用 _name=(.*?)"
但字符串中还有其他引号.有没有办法匹配第三个引号?我试过 _name=(.*?)"{3}
但 {3}
与引号背靠背匹配,即 """
你可以试试这里
解决方案
你可以使用这个正则表达式:
_name=(?:[^"]*"){3}
I have the following string:
_name=aVlTcWRjVG1YeDhucWdEbVFrN3pSOHZ5QTRjOEJZZmZUZXNIYW1PV2RGOWYrczBhVWRmdVJTMUxYazVBOE8zQ3JNMmNVKzJLM2JJTzFON3FiLzFHUE0xY0pkdz09LS1jbkkwaWoxUUl3YVhMMkhtZHpaOW13PT0"%"3D--57356371d167f"
I want to match everything between =
and the end "
(note there are other quotes after this so I can't just select the last "
).
I tried using _name=(.*?)"
but there are other quotes in the string as well. Is there a way to match the 3rd quote? I tried _name=(.*?)"{3}
but the {3}
matches for the quotes back to back, i.e. """
You can try it here
解决方案
You can use this regex:
_name=(?:[^"]*"){3}
这篇关于正则表达式:匹配第 n 次出现的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文