首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用于提取字符串一部分的正则表达式

用于提取字符串一部分的正则表达式
EN

Stack Overflow用户
提问于 2012-11-12 15:55:03
回答 2查看 100关注 0票数 1

我有以下来自核心银行系统的交易格式

代码语言:javascript
运行
复制
This is a <test>  and only <test> hope <u> understand

从我想要的地方

代码语言:javascript
运行
复制
<test><test><u> (along with <>)

使用简单的子串我可以做到这一点,但它太慢了。有没有办法使用正则表达式函数来捕获< and >之间的文本?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-12 17:34:10

我能想到的最简单的方法是使用preg_match_all(),然后将结果join()在一起,形成最终的字符串:

代码语言:javascript
运行
复制
function get_bracketed_words($str) 
{
    if (preg_match_all('/<[a-z]+>/', $str, $matches)) {
        return join('', $matches[0]);
    }
    return '';
}
票数 1
EN

Stack Overflow用户

发布于 2012-11-12 16:03:37

如果您使用它,它应该不会太慢(这里以Perl代码为例):

代码语言:javascript
运行
复制
while (my $line = <FILE>) {
    my ($request) = ($line =~ /RequestArray:(.*)/);
    next unless $request;
    # here, you can split $requests to sub-pieces using another regex
    # ...
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13340023

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档