[英]Perl Regex to get a substring between two of the same characters
給定一些字符串originalString = "#SomeWord# More words"
,我希望能夠從originalString
獲得子字符串"SomeWord"
。
my $substr = (split /#/, $originalString)[1];
/#([^#]+)#/
對我有用。
一些語法說明:
//
標記正則表達式開始和結束的定界符 #
文字哈希標記 []
字符類 上面的正則表達式的解釋:
[^#]
任何非井號的字符 [^#]+
一個或多個此類字符 ([^#]+)
的捕獲組 在這種情況下,正則表達式將查找兩個#之間的任何非#字符。 這是一個完整的示例:
my $foo = "#SomeWord# More words";
if ($foo =~ /#([^#]+)#/) {
print "$1\n";
} else {
print "no match\n";
}
您還可以使用正則表達式:
$originalString=~ /\#([^#]+)\#/;
# Now $1 holds your required string
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.