我只需要匹配这些字符串的开始,主要是“KEYWORD AAA / 0010/0”中的模式与 / 0 <之后的空格/ strong>并将其替换为任何其他字符串。它必须仅在开始时才发生。
KEYWORD AAA/0010/0
KEYWORD AAAAAA/0010/0
KEYWORD AAA/001000/0
KEYWORD AAA/0010/000
KEYWORD AAA/0010/0 Testing comment
KEYWORD AAA/0010/0 Testing comment KEYWORD AAA/0010/0 Testing comment
KEYWORD */*/*
KEYWORD ?/?/?
我试过这个但是它没有区分开始和中间的实例而且它与最后一个实例不匹配
^KEYWORD .*\/.*\/.*\s
任何帮助都将受到高度赞赏。
答案 0 :(得分:1)
Ungreedy .*?
's(匹配到下一个/
,甚至是[^/]*
),以及\s
和\s?
(对于最后一行),制作^KEYWORD .*?\/.*?\/.*?\s?
或^KEYWORD [^\/]*\/[^\/]*\/[^\/]*\s?
答案 1 :(得分:1)
我想你差不多了。您的正则表达式与上一个测试用例不匹配,因为最后没有空格。试试这个:
/^KEYWORD .*\/.*\/.*(\s|$)/
答案 2 :(得分:1)
怎么样?
^KEYWORD [^\s/]*\/[^\s/]*\/[^\s/]*(?:\s|$)
最后一行不匹配,因为后面没有空格,因此我将其替换为空格或字符串(?:\s|$)
的结尾。