我在一个字符串中有一个 0 到 10,000+ 字长的文本。我也有一个输入字符串input
。如何删除字符串中不以 开头的所有单词input
?
前任:
“这是一串包含三十万亿口渴的演员的字符串。”
输入 = “th”
我希望“这三十个口渴的演员”回归。我对正则表达式知之甚少,所以我不确定如何解决这个问题。
我在一个字符串中有一个 0 到 10,000+ 字长的文本。我也有一个输入字符串input
。如何删除字符串中不以 开头的所有单词input
?
前任:
“这是一串包含三十万亿口渴的演员的字符串。”
输入 = “th”
我希望“这三十个口渴的演员”回归。我对正则表达式知之甚少,所以我不确定如何解决这个问题。
这是一个perl解决方案,希望对您有所帮助。
$beginning = "th";
$s = "This is a string containing thirty-trillion thirsty thespians.";
@results = $s =~/\b($beginning\w*)/ig;
print for @results`
它会打印
这三十口渴的演员
正则表达式执行以下操作:
它以单词边界开始匹配,\b
.
($beginning\w*)
捕获以 开头的单词,$beginning
后跟零个或多个单词字符。括号意味着它将返回括号内匹配的任何内容。
这i
意味着它不区分大小写g
意味着它遍历整个字符串并将匹配的所有内容作为列表返回(@results
此处)。