如何解决正则表达式匹配精确字符串与非数字字符和变量数
我一直在为此苦苦挣扎,希望得到任何帮助。
我有一行代码总是像这样:
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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。