正则表达式在第二个和第三个斜杠之间查找文本

use*_*549 15 regex

我想捕获第二个斜杠之后和字符串中第三个斜杠之前发生的文本.例:

/ IPADDRESS /数据库名称/

我只需要捕获数据库名称.数据库名称可能包含字母,数字和下划线.谢谢.

Eli*_*Eli 14

你如何访问它取决于你的语言,但你基本上只想要一个捕获组,用于你的第二个和第三个"/"之间的任何落差.假设您的字符串始终与示例的形式相同,则为:

/.*/(.*)/
Run Code Online (Sandbox Code Playgroud)

如果可以存在多个斜杠,但数据库名称中永远不存在斜杠,则您需要:

/.*/(.*?)/
Run Code Online (Sandbox Code Playgroud)


Isa*_*aac 9

/.*?/(.*?)/
Run Code Online (Sandbox Code Playgroud)

如果你的行总是/在行的末尾:

([^/]*)/$
Run Code Online (Sandbox Code Playgroud)

替代split方法:

split("/")[2]
Run Code Online (Sandbox Code Playgroud)


Adr*_*onk 5

正则表达式将是:

/[^/]*/([^/]*)/
Run Code Online (Sandbox Code Playgroud)

所以在 Perl 中,正则表达式捕获语句类似于:

($database) = $text =~ m!/[^/]*/([^/]*)/!;
Run Code Online (Sandbox Code Playgroud)

通常,该/字符用于分隔正则表达式,但由于它们用作匹配的一部分,因此可以使用另一个字符。或者,/可以对字符进行转义:

($database) = $text =~ /\/[^\/]*\/([^\/]*)\//;
Run Code Online (Sandbox Code Playgroud)