我有一个字符串链接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'