使用数字作为标记的正则表达式分词

时间:2017-01-16 20:18:58

标签: c++ regex

我想解析一个文本,只保留带有字母字符或带有'字符的单词(ASCII格式为39)。例如:

I know that Dave's car is 'broken'.

应解析为

I/know/that/Dave's/car/is/broken

(其中/只是为了表明它是另一个词)。

到目前为止,我有:

regex e ("\\b[A-Za-z']+\\b");

但这不会将abc2efg拆分为abc/efg,这将是我想要获得的最终结果。

感谢您的回答。

2 个答案:

答案 0 :(得分:0)

\\b仅匹配字边界。

要匹配包含'但不包含以'开头或结尾的字词的字词,这可能适合您。我没有用C ++的正则表达式引擎测试它。

regex e ("([A-Za-z]+)|([A-Za-z]+[A-Za-z']*[A-Za-z]+)");

答案 1 :(得分:0)

你可以做到

<强>#1

(\d+)

然后用&#39;,&#39;

替换

<强>结果

abc,def

<强>#2

([a-zA-Z]+)

<强>结果:

abc
def