如何使用正则表达式提取引号间包含asmx的目标字符串?
解决方案
你可以用这个正则表达式来精准提取引号内包含asmx的字符串:
'([^']*asmx[^']*)'
正则拆解:
':匹配开头的单引号(你的文本里用的是单引号,所以用这个)([^']*asmx[^']*):捕获组,用来提取我们需要的核心内容[^']*:匹配任意数量不是单引号的字符,确保不会跨引号匹配到其他内容asmx:精准匹配目标关键词,保证提取的字符串一定包含它- 前后的
[^']*确保asmx可以出现在引号内的任意位置(开头、中间、结尾都能覆盖)
':匹配结尾的单引号
测试工具使用技巧:
- 把你的大段文本粘贴到工具的「Text」区域
- 把上面的正则输入到「Expression」区域
- 开启「Global」(全局匹配)模式,这样能一次性找出所有符合条件的结果
- 查看右侧「Matches」区域,所有捕获组里的内容就是你要的
test.asmx/asdasd、/qqwweq2.asmx/qqq这类字符串
如果你的文本里可能混有双引号,想同时兼容单双引号的场景,可以调整正则为:
["']([^"']*asmx[^"']*)["']
这个版本会同时匹配单引号和双引号包裹的符合条件的字符串。
内容的提问来源于stack exchange,提问作者Ceylan B.
相关产品推荐
相关产品推荐

