我正在将程序从 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/