【发布时间】:2020-06-16 09:55:17
【问题描述】:
我正在尝试在 python 中定义一个正则表达式来匹配以下字符串:
prefix:long-name
在示例文本中:
prefix:long-name
asdd prefix:long-name asddasd
asdd prefix:long-name;
prefix:long-name
prefix:long-name:other-prefix:long-name:long-name
prefix:long-name
但它不应该匹配以下字符串:
prefix:long-name:other-prefix:long-name:long-name
我尝试使用匹配组来跟踪正则表达式,但它不能正常工作:
([^;\{\}\s\*\+\'"]+)(:)([^;\{\}\s\*\+\'"]+)
问题是,正则表达式会匹配两个提到的字符串。
字符串的末尾可以是行尾,但也可以是[\s\{\}\;] 之一。
有人有小费吗?
提前致谢。
【问题讨论】:
-
那么字符串的末尾是什么,如果不是文件结尾或行结尾?
-
我更新了我的帖子。它可能是 [\s\{\{\;] .
-
为什么你的角色类别中有两次
{?还是您的意思是文字字符串[\s{{;]?还是只是\s{{;?不清楚…… -
谢谢。我用更多信息更新了我的帖子。