C# 匹配HTML和Javascript文件中的文件路径
如果有人能帮我解决正则表达式的很多问题 基本上,我需要一个正则表达式,可以在html,css,javascript文件点 用单引号或双引号括起来 我已经走了这么远了。C# 匹配HTML和Javascript文件中的文件路径,c#,regex,C#,Regex,如果有人能帮我解决正则表达式的很多问题 基本上,我需要一个正则表达式,可以在html,css,javascript文件点 用单引号或双引号括起来 我已经走了这么远了。(\“|”)([^“|”\\\”*)*。*(\“|”) 我用的是C# 请参阅链接 但是如果你看看我在底部的测试,我在一行上有多个匹配项,它失败了 任何帮助都将不胜感激 使用非贪婪或懒惰的*?量词,而不是*来匹配无限数量的重复,但要以非贪婪的方式。(即进行最短的比赛) 此外,在要求包含点之后,您忘记了排除零件中的空格和引号 测试此版
(\“|”)([^“|”\\\”*)*。*(\“|”)
我用的是C#
请参阅链接
但是如果你看看我在底部的测试,我在一行上有多个匹配项,它失败了
任何帮助都将不胜感激 使用非贪婪或懒惰的
*?
量词,而不是*
来匹配无限数量的重复,但要以非贪婪的方式。(即进行最短的比赛)
此外,在要求包含点之后,您忘记了排除零件中的空格和引号
测试此版本的正则表达式:
(?<quote>\"|\')(?<file>[^\"\'\s]*?\.[^\"\'\s]*?)\k<quote>
(?\“\\”)(?[^\“\'\s]*?\.[^\“\'\s]*?)\k
进一步改进:
- 使用命名的捕获组
- 根据字符串的开头,在模式的末尾使用反向引用来匹配双引号或单引号
或者,如果还希望匹配单引号和双引号混合的文件名,请使用以下变体:
(?:\"|\')(?<file>[^\"\'\s]*?\.[^\"\'\s]*?)(?:\"|\')
(?:\“\”)(?[^\“\”\s]*?\.[^\“\”\s]*?)(?:\“\”\s]*)
- 使用命名捕获组作为文件名
- 对引号使用非捕获组
我们可以使用否定字符类:
['"][^'" ]+?\.[^'" ]*?['"]
说明:
- 如果有