正则表达式拆分为包含句点的单词

本文关键字:单词 句点 包含 拆分 正则表达式 | 更新日期: 2023-09-27 18:36:50

有人可以告诉我如何修改此正则表达式以允许字符串中的句点吗?

string[] parts = Regex.Split(s, @"'b|[^'.#_a-zA-Z0-9()=><!%]");

如果我提供字符串:"HELLO ABC.123"

此正则表达式返回{"HELLO", "ABC", ".", "123"}

我想返回{"HELLO", "ABC.123"}

请原谅我对正则表达式模式的菜鸟。

编辑:我正在使用C# 3.5

正则表达式拆分为包含句点的单词

ABC.123 'b时期双方的比赛。您可以更改它以避免这种情况。例如:

(?<!['w.])(?=['w.])|(?<=['w.])(?!['w.])

给出完整的引用表达式:

@"(?<!['w.])(?=['w.])|(?<=['w.])(?!['w.])|[^'w.#()=><!%]+"

您可能希望将#()=><!%字符添加到所有字符类中。

只需从'b|[^'.#_a-zA-Z0-9()=><!%]中删除'b,然后使用:

string[] parts = Regex.Split(s, @"[^#_a-zA-Z0-9()=><!%]");