我正在尝试创建一个将执行以下任务的正则表达式:
我试图做这项工作,但老实说,我有点不完全理解语法,我基本上试图将其他人写的两个或更多的表达式加入到一个。
为了让我更好地理解语法,我真的很感激为了解决每一步的问题。
非常感谢!
答案 0 :(得分:0)
试试这个正则表达式(对于n == 3):
^something.*$\n.*$(?:[^"]*"[^"]*){2}"([^"]+)".*$\n.*$
该值位于第一个捕获组中。注意/gm
修饰符。
答案 1 :(得分:0)
您可以检查每一行:
^something([^"]*"){n}([^"]*)"
也许不完整......
它包含的内容:
^
:行首something
:请求的字符开始序列([^"]*"){n}
n次一些(可能为空)文本后跟引号([^"]*)
第n个引号后面的文字,直到(不包括)第n + 1个引号"
第n + 1个引号...
不关心其余部分的内容。分别在每行文本中使用它,并检查表达式是否产生匹配。如果匹配,则最后一个匹配组是您在n
和n+1
引号之间请求的序列。您还可以生成一个命名匹配组,以使生活更轻松......