如何用正则表达式匹配每行首个单引号包裹的字符串?
解决每行首个单引号包裹字符串的正则方案
要选中每行第一个被单引号包裹的字符串,你可以使用以下正则表达式,并开启多行模式(m flag):
^[^']*'([^']+)'
正则说明:
^:锚定每行的起始位置,确保只从每行开头开始匹配[^']*:匹配第一个单引号之前的所有非单引号字符,直接定位到该行第一个单引号'([^']+)':捕获单引号内的目标内容,[^']+确保只取到当前单引号闭合前的字符,不会误匹配后续的单引号内容
匹配效果:
针对你给出的示例代码:
Fucntion(12345, 'ThisOneOnly', 'NotThis', 'NotThisEither'); Fucntion(12345, 'ThisOneOnly', 'NotThis', 'NotThisEither'); Fucntion(12345, 'ThisOneOnly', 'NotThis', 'NotThisEither');
开启多行模式后,正则会捕获每行的ThisOneOnly作为结果。
如果需要匹配包含单引号的完整字符串(如'ThisOneOnly'),可以去掉捕获组,直接使用:
^[^']*'[^']+'
内容的提问来源于stack exchange,提问作者Silver.Rainbow
相关产品推荐
相关产品推荐

