我想捕获第二个斜杠之后和字符串中第三个斜杠之前发生的文本.例:
/ IPADDRESS /数据库名称/
我只需要捕获数据库名称.数据库名称可能包含字母,数字和下划线.谢谢.
Eli*_*Eli 14
你如何访问它取决于你的语言,但你基本上只想要一个捕获组,用于你的第二个和第三个"/"之间的任何落差.假设您的字符串始终与示例的形式相同,则为:
/.*/(.*)/
Run Code Online (Sandbox Code Playgroud)
如果可以存在多个斜杠,但数据库名称中永远不存在斜杠,则您需要:
/.*/(.*?)/
Run Code Online (Sandbox Code Playgroud)
/.*?/(.*?)/
Run Code Online (Sandbox Code Playgroud)
如果你的行总是/在行的末尾:
([^/]*)/$
Run Code Online (Sandbox Code Playgroud)
替代split方法:
split("/")[2]
Run Code Online (Sandbox Code Playgroud)
正则表达式将是:
/[^/]*/([^/]*)/
Run Code Online (Sandbox Code Playgroud)
所以在 Perl 中,正则表达式捕获语句类似于:
($database) = $text =~ m!/[^/]*/([^/]*)/!;
Run Code Online (Sandbox Code Playgroud)
通常,该/字符用于分隔正则表达式,但由于它们用作匹配的一部分,因此可以使用另一个字符。或者,/可以对字符进行转义:
($database) = $text =~ /\/[^\/]*\/([^\/]*)\//;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
49682 次 |
| 最近记录: |