我有一个For Exampe字符串
string SampleString = "F456-G12345-9090-GHI"
我需要在上面的字符串中的所有字符之间添加一个可选的空格。
上面的字符串需要匹配相同的字符串,该字符串可能有或没有ewach字符之间的空格。另一个字符串就像
string samplestring1 = "F456-G12345- 9090 -GHI"
由于 帕德玛
答案 0 :(得分:2)
我不肯定我理解你会匹配什么。如果你正在寻找一个特定的字符串,那么最简单的方法可能是在字符串中用''替换所有空格,然后进行匹配。
在perl我会这样做:
$string =~ s/\s//g;
while ($string =~ m/F456-G12345-9090-GHI/g) {
# Do something
}
如果您正在寻找多个字符串,而不仅仅是特定字符串,您可能只想添加\ s作为潜在匹配[\ w \ s - ] +
但是,如果你要匹配一个特定的字符串,我只需要首先整个空格,而不是在检查字符串之前执行昂贵的正则表达式检查(并丢弃)找到的任何空格。
答案 1 :(得分:0)
您可能需要在每个角色之间添加\s*
。 (或空格的其他控制字符)
\s*F\s*4\s*5\s*6\s*-\s*G\s*1\s*2\s*3\s*4\s*5\s*-\s*9\s*0\s*9\s*0\s*-\s*G\s*H\s*I\s*
或者,根据您的正则表达式方法,您可以传递一个选项来忽略源文本中的空格,但这取决于您正在使用的正则表达式库。