我有来自核心银行系统的以下交易格式
This is a <test> and only <test> hope <u> understand
从我想要的地方
<test><test><u> (along with <>)
使用简单的子字符串我可以做到这一点,但它会太慢..有没有办法在< and >
之间使用正则表达式函数捕获文本?
答案 0 :(得分:1)
我能想到的最简单的方法是使用preg_match_all()
然后将join()
结果组合在一起形成最终字符串:
function get_bracketed_words($str)
{
if (preg_match_all('/<[a-z]+>/', $str, $matches)) {
return join('', $matches[0]);
}
return '';
}
答案 1 :(得分:0)
如果你使用它,它不应该太慢(这里以Perl代码为例):
while (my $line = <FILE>) {
my ($request) = ($line =~ /RequestArray:(.*)/);
next unless $request;
# here, you can split $requests to sub-pieces using another regex
# ...
}