【发布时间】:2013-09-14 16:25:28
【问题描述】:
给定一些字符串originalString = "#SomeWord# More words",我希望能够从originalString 中获取子字符串"SomeWord"。
【问题讨论】:
-
所以你只想要由井号标记的字符串?
标签: regex string perl substring
给定一些字符串originalString = "#SomeWord# More words",我希望能够从originalString 中获取子字符串"SomeWord"。
【问题讨论】:
标签: regex string perl substring
/#([^#]+)#/ 为我工作。
一些语法说明:
// 标记正则表达式开始和结束的分隔符# 文字哈希标记[] 一个字符类上面正则表达式的解释:
[^#] 任何不是井号的字符[^#]+ 一个或多个这样的字符([^#]+)capturing group 以上在这种情况下,正则表达式会查找两个 # 之间的任何非 # 字符。这是一个完整的例子:
my $foo = "#SomeWord# More words";
if ($foo =~ /#([^#]+)#/) {
print "$1\n";
} else {
print "no match\n";
}
【讨论】:
##,但这可能是预期行为。
my $substr = (split /#/, $originalString)[1];
【讨论】:
print (split /#/, $originalString)[1];。
你也可以使用正则表达式:
$originalString=~ /\#([^#]+)\#/;
# Now $1 holds your required string
【讨论】: