繁体   English   中英

正则表达式:另一个子字符串中的子字符串

[英]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]

这个角色类别无法发挥您的想法; 这将匹配以下三项之一:文字点,回车或换行符。 您尝试匹配的查询代码将永远不会与此匹配。

演示在这里:

正则表达式101

做一个正则表达式查找像这样:

  • 打开查找对话框
  • 查找内容: \\(\\[\\[\\K.*(?=\\]\\],)
  • 检查正则表达式
  • 检查 匹配换行符
  • 单击查找下一个

说明

  • \\(\\[\\[\\K[[
  • (?=\\]\\],)是前瞻,仅在后跟]],时才匹配

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM