如何在第一个空格之后正则化一些东西



我有一个字符串链接TEST123 DATA,所以这是两个由空格分隔的单词。我如何在空格(s)后正则化正确的部分以获得DATA ?我是新的,我希望有人能告诉我如何做到这一点?应该跳过开头的任何字符,包括第一个空格。我需要第一个空白(s)之后的一切。这是字符串的例子:

TEST_1 DATA
TEST     DATA
123  DATA

,结果应该总是"DATA"。由于

^S*s+(S+)

匹配从开头到第一个空格后面的单词的字符串。第1组将包含字符串DATA(在您的示例中)。

如果您只想匹配DATA,并且您可以访问perl兼容的正则表达式引擎,则可以使用

^S*s+KS+

K标记告诉regex引擎忽略到目前为止已经匹配的所有文本。

在regex101.com上观看直播

对于.NET正则表达式引擎,您可以使用正面向后看断言:

(?<=^S*s+)S+

在regexhero.net上观看。

从字符串末尾开始,匹配所有非空白字符:

[^s]*$

获取示例中具有全局和多行标志的所有3个DATA

您也可以尝试以下regex: (Python)

>>> import re
>>> s = "TEST_1 DATA"
>>> result = re.sub(r".*?(w+)s*$", r"1", s)
>>> result
'DATA'

最新更新