正则表达式与非数字字符和变量号匹配精确字符串
Regular expression to match exact string with with non-numeric characters and variable number
我一直在为此苦苦挣扎,希望得到任何帮助。
我有一行代码总是看起来像这样:
Thread.sleep(1000)
Thread.sleep()
始终是一个固定的字符序列,但里面的整数是可变的。我将如何编写一个正则表达式来捕捉这个?
您可以使用 regex, Thread\s*\.\s*sleep\s*\(\s*\d+\s*\)
.
正则表达式的解释:
Thread
:字面意思,Thread
\s*\.\s*
: .
前后有 0+ 个空白字符
sleep\s*
:文字,sleep
后跟0+个空白字符
\(\s*
:字符,(
后跟0+个空白字符
\d+\s*
: 一个或多个数字后跟 0+ 个空白字符
\)
:字符,)
演示:
public class Main {
public static void main(String[] args) {
String x = "Some Thread.sleep(1000) text";
x = x.replaceAll("Thread\s*\.\s*sleep\s*\(\s*\d+\s*\)", "");
System.out.println(x);
}
}
输出:
Some text
我一直在为此苦苦挣扎,希望得到任何帮助。
我有一行代码总是看起来像这样:
Thread.sleep(1000)
Thread.sleep()
始终是一个固定的字符序列,但里面的整数是可变的。我将如何编写一个正则表达式来捕捉这个?
您可以使用 regex, Thread\s*\.\s*sleep\s*\(\s*\d+\s*\)
.
正则表达式的解释:
Thread
:字面意思,Thread
\s*\.\s*
:.
前后有 0+ 个空白字符sleep\s*
:文字,sleep
后跟0+个空白字符\(\s*
:字符,(
后跟0+个空白字符\d+\s*
: 一个或多个数字后跟 0+ 个空白字符\)
:字符,)
演示:
public class Main {
public static void main(String[] args) {
String x = "Some Thread.sleep(1000) text";
x = x.replaceAll("Thread\s*\.\s*sleep\s*\(\s*\d+\s*\)", "");
System.out.println(x);
}
}
输出:
Some text