Regex 正则表达式将短语拆分为单词,但忽略标记中的空格
我需要将短语拆分为单词,但忽略已定义标记中的文本 比如说 输入Regex 正则表达式将短语拆分为单词,但忽略标记中的空格,regex,Regex,我需要将短语拆分为单词,但忽略已定义标记中的文本 比如说 输入 111 111 222 333 444 555 666 888 999 000 111 输出 <i>111 111 111</i> 222 333 444 <i>555 666</i> 888 999 <i>000 111</i> 111 222 333 444 555 666 888 999 000 111 试试这个: /<i>[\d\s]*&
111 111 222 333 444 555 666 888 999 000 111
输出
<i>111 111 111</i>
222
333
444
<i>555 666</i>
888
999
<i>000 111</i>
111
222
333
444
555 666
888
999
000 111
试试这个:
/<i>[\d\s]*<\/i>|\d+/g
/[\d\s]*\d+/g
说明:
- 对于
标记中的字符串,空格和数字都将包含在匹配中李> - 不在标记中的字符串不能包含空格,因此它们将被限制为数字字符串李>
交流发电机短路,因此它确保
将被视为一个单元,而不是拆分为111 222 333
、111
和222
333
在这里的Regexr上测试,工作正常:如果后面的下一个
>>重新导入 >>>test=“111 222 333 444 555 666 888 999 000 111”
>>>split=re.compile(“(?![^什么是“定义的标记”-任何标记?请改用。查找没有子节点的文本节点并拆分内容。您使用的语言是什么?所有示例都这么简单吗(即没有嵌套标记、没有xml注释、没有CDATA块)我使用.NET,如果有人给我举一个Regex.Split的例子,它将非常有用/<i>[\d\s]*<\/i>|\d+/g
>>> import re >>> test = "<i>111 111 111</i> 222 333 444 <i>555 666</i> 888 999 <i>000 111</i>" >>> split = re.compile(" (?![^<]*</)") >>> split.split(test) ['<i>111 111 111</i>', '222', '333', '444', '<i>555 666</i>', '888', '999', '<i>000 111</i>']