我将如何使用正则表达式来做到这一点?
示例输入:This is a sentence 1234 with a bunch of other stuff
.
输出:1234
。
我知道我是否这样做:(?<=This is a sentence).\d\d\d\d
我可以用任何东西替换四位数。但我想做完全相反的事情:我想用一些东西替换除了匹配之外的所有东西,在这种情况下什么都没有(即“”)。
我将如何使用正则表达式来做到这一点?
示例输入:This is a sentence 1234 with a bunch of other stuff
.
输出:1234
。
我知道我是否这样做:(?<=This is a sentence).\d\d\d\d
我可以用任何东西替换四位数。但我想做完全相反的事情:我想用一些东西替换除了匹配之外的所有东西,在这种情况下什么都没有(即“”)。
我们需要用空的""
示例代码替换所有字符:
var="This is a sentence 1234 with a bunch of other stuff";
intVar = var.replaceAll("[a-zA-Z ]", "");
输出将是 1234
使用全部替换为
\D
作为正则表达式,""
并用什么来替换匹配的术语。
\d
表示数字字符。
\D
表示非数字字符。
编辑:因为你似乎需要一个非常文字的正则表达式......我会运行两个替换,第一个删除数字之前的所有内容,第二个删除数字之后的所有内容。
first = replace("This is a sentence 1234 with a bunch of other stuff",".*[Tt]his is a sentence (?=1234)","")
second = replace(first,"\D+.*","")
\d+
你用or匹配一个数字序列[0-9]+
。