regex以获取文件中单词uses和分号之间的逗号分隔列表
正如标题所说,我需要在delphi文件中查找所有导入。文本看起来有点像这样:regex以获取文件中单词uses和分号之间的逗号分隔列表,regex,capturing-group,Regex,Capturing Group,正如标题所说,我需要在delphi文件中查找所有导入。文本看起来有点像这样: uses X.Y.Z, A.B, C.D.F; class procedure 所以我的正则表达式匹配是: X.Y.Z A.B 到岸价 我知道我需要为X.Y.Z.使用捕获组,但我只能设法获得第一个组。在每个捕获组之间可以有空格或1个或多个换行符,或者两者都有。 以下是我到目前为止的情况: ^使用(?:[\n |\s]*([a-z |.| a-z]+)(?:,)+)我认为您应该采取两步方法: 从搜索整个源文件开
uses X.Y.Z, A.B, C.D.F; class procedure
所以我的正则表达式匹配是:
- X.Y.Z
- A.B
- 到岸价
^使用(?:[\n |\s]*([a-z |.| a-z]+)(?:,)+)我认为您应该采取两步方法: 从搜索整个源文件开始,捕获 以下字符串之间的字符串:
(行首)+空格序列使用
- 和一个
代码>,正在终止导入列表
^uses\s+([a-z,\s]+)执行代码>
下一步要处理的文本是
第一组
在第二步中,对上述每个匹配执行,
您可以使用[a-z]+(?:\.[a-z]+)*(?=[,;])
上述两个正则表达式都应使用i
(case)执行
不敏感),m
(多行)和g
(全局)选项
请注意,单个正则表达式方法是错误的,因为如果捕获组
已匹配多次,则正则表达式处理器返回
只有最后一个与这样的团队匹配。您使用的是什么语言/工具?