如果有人可以帮助我解决正则表达式问题
基本上我需要一个RegEx可以识别html,css,javascript中的文件 用单引号或双引号引起来
我已经(\"|')([^"|'|\s]|\\"*)*\..*(\"|')
我正在使用C#
查看链接 https://regex101.com/r/nga5yF/2
但是,如果您在底部查看我的测试,则在同一行上有多个匹配项,则测试将失败。
任何帮助将不胜感激!
答案 0 :(得分:2)
答案 1 :(得分:1)
使用非贪婪或惰性*
量词代替*?
来匹配无限数量的重复,但以非贪婪方式进行。 (即最短的比赛)。
此外,在要求包含点之后,您忘记了在零件中排除空格和引号。
测试此版本的正则表达式:
(?<quote>\"|\')(?<file>[^\"\'\s]*?\.[^\"\'\s]*?)\k<quote>
https://regex101.com/r/wTXhaM/1
进一步的改进:
或者如果您还想匹配单引号和双引号混合的文件名,请使用以下变体:
(?:\"|\')(?<file>[^\"\'\s]*?\.[^\"\'\s]*?)(?:\"|\')