java - 这个正则表达式有什么作用?

标签 java regex perl

我正在将程序从 Perl 转换为 Java。我遇到过线

my ($title) = ($info{$host} =~ /^\s*\(([^\)]+)\)\s*$/);

我不太擅长正则表达式,但据我所知,这是将字符串 $info{$host} 中的内容与正则表达式 ^\s*(([^)]+))\s 匹配*$ 并将匹配分配给 $title。

我的问题是我不知道正则表达式在做什么以及它将匹配什么。任何帮助将不胜感激。

谢谢

最佳答案

正则表达式匹配恰好包含一对匹配括号的字符串(实际上,一个左括号和一个匹配的右括号,但在任意数量的进一步左括号内可能出现)。

字符串可以以空白字符开头和结尾,但不能以其他字符开头和结尾。然而,在括号内,可能会出现任意字符(至少一个)。

下面的字符串应该匹配它:

 (abc)
 (()
   (ab)

顺便说一句,您可以简单地按原样在 Java 中使用正则表达式(在转义反斜杠之后),使用 Pattern类。

关于java - 这个正则表达式有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1327135/

相关文章:

perl - 在 Perl 中进行自动站点访问时如何获取文本形式的验证码?

命令中的 Perl 管道打开问题

perl - 如何访问该数据结构中的元素?

java - 无法在 Servlet 中解析参数

java - 如何在 Linux 和 eclipse 中为 JNI 配置创建 makefile

java - 为什么这个线程池只使用一个工作线程

python - 根据python中的模式对字符串进行拆分和分组

javascript - 使用 JavaScript 进行准确字数统计的正则表达式

java - 如何获取在 Java 中从给定方法调用的另一个类中定义的方法列表

regex - 如何在数据的位置打印匹配的字符串?