我有一个正则表达式如下
^Schedule\s?(A|B|C|D|E|F|H|J|K|L|M|R|SE)?
因此这将匹配“时间表 A我需要帮助”之类的内容。
我想要对字符“-”进行限制,即如果字符串类似于“Schedule A - i need help”,则它不应该给出匹配项。。
但如果 Schedule A 后面跟着空格和“-”以外的任何内容,则应该给出匹配项。
最佳答案
负面展望在这里会有帮助
^Schedule\s*([ABCDEFHJKLMR]|SE)(?!\s+-)
(?!\s+-)
负向前看,检查匹配字符串后面是否没有空格 (\s+
) 和-
.注意可选量词
?
不是必需的,因为它会导致正则表达式引擎跳过它们。[ABCDEFHJKLMR]
字符类,匹配此 set 中的单个字符.
关于java - 正则表达式 - 如果尾随字符为 "-",则不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31720593/