[英]Regex: substring in another substring
我有以下文字:
query([[
select *
from ]]..s_Schema..[[Table
where RowNumber = n_Counter
]],{Counter = n_Counter});
我需要找到介于([[
和]],
子字符串n_
。
这样的正则表达式: \\(\\[\\[[.\\r\\n]+n_[.\\r\\n]+\\]\\],
不起作用。
我的情况似乎与此相反: 正则表达式:查找没有子字符串的字符串
或者这样: 正则表达式匹配子字符串,除非另一个子字符串匹配
您的要求的字面实现将是:
找:
\(.*\[\[.*?(n_\w+).*\]\]
您当前的正则表达式有几个问题,其中最突出的可能是:
[.\r\n]
这个角色类别无法发挥您的想法; 这将匹配以下三项之一:文字点,回车或换行符。 您尝试匹配的查询代码将永远不会与此匹配。
演示在这里:
做一个正则表达式查找像这样:
\\(\\[\\[\\K.*(?=\\]\\],)
说明
\\(\\[\\[\\K
在[[
(?=\\]\\],)
是前瞻,仅在后跟]],
时才匹配
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.