相关疑难解决方法(0)

java.util.regex - Pattern.compile()的重要性?

Pattern.compile()方法的重要性是什么?
为什么我需要在获取Matcher对象之前编译正则表达式字符串?

例如 :

String regex = "((\\S+)\\s*some\\s*";

Pattern pattern = Pattern.compile(regex); // why do I need to compile
Matcher matcher = pattern.matcher(text);
Run Code Online (Sandbox Code Playgroud)

java regex

115
推荐指数
5
解决办法
11万
查看次数

Java Regex Thread是安全的吗?

我有一个函数,它使用Pattern#compile和a Matcher来搜索模式的字符串列表.

此函数用于多个线程.每个线程都将传递给Pattern#compile创建线程时的唯一模式.线程和模式的数量是动态的,这意味着我可以Pattern在配置期间添加更多的s和线程.

synchronize如果使用正则表达式,我是否需要使用此功能?java线程中的正则表达式是否安全?

java regex multithreading

101
推荐指数
2
解决办法
4万
查看次数

正则表达式最佳实践

我正在学习如何使用正则表达式:

我正在阅读一个文本文件,该文件被分成两个不同类别的部分,由<:==]:>和划分 <:==}:>.我需要知道每个部分是否是一个]},所以我不能只是做

pattern.compile("<:==]:>|<:==}:>"); pattern.split(text)
Run Code Online (Sandbox Code Playgroud)

这样做:

pattern.compile("<:=="); pattern.split(text)
Run Code Online (Sandbox Code Playgroud)

工作,然后我可以看看每个子字符串中的第一个字符,但这对我来说似乎很草率,我想我只是诉诸它,因为我没有完全掌握我需要掌握的关于正则表达式的东西:

这里最好的做法是什么?另外,有没有办法将字符串分开,同时在结果字符串中留下分隔符 - 这样每个字符串都以分隔符开头?

编辑:文件布局如下:

Old McDonald had a farm 
<:==}:> 
EIEIO. And on that farm he had a cow 
<:==]:> 
And on that farm he....
Run Code Online (Sandbox Code Playgroud)

java regex

6
推荐指数
1
解决办法
2432
查看次数

标签 统计

java ×3

regex ×3

multithreading ×1