Perl正则表达式提取两个连续的单词

用户1981275

我正在尝试从列表中提取包含两个单词的字符串,这些单词由一个或多个空格分隔。例子:

@a=("aaa12:.", "lala lulu", "erwer", ",", "lala   loqw  asqwd", "asdas   sadsad", "asasd| asq");
@b=grep {/\w+\s+\w+/} @a;

这给了我

      'lala lulu',
      'lala   loqw  asqwd',
      'asdas   sadsad'

但是我不想用三个词来重复一个...

我尝试过,@b=grep {/^\w\s+\w$/}但是没有任何比赛。应该很简单,但是我不明白。我在这里需要哪个正则表达式?

池上

\w只匹配一个字符。您需要以下内容:

/^\w+\s+\w+\z/
  • ^ 匹配字符串的开头。
  • \w+ 匹配多个“单词”字符之一。
  • \s+ 匹配多个空白字符之一。
  • \w+ 匹配多个“单词”字符之一。
  • \z 匹配字符串的结尾。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

一两个单词后的正则表达式字符串

正则表达式仅用一个替换两个(或多个)连续字符?

PHP-正则表达式以匹配两个以上字母的单词

使用正则表达式以任意顺序匹配两个单词

使用正则表达式忽略位于两个已知单词之间的未知单词

正则表达式以匹配两个特定单词之间的连字符

正则表达式:3个单词,中间有两个破折号

为什么此正则表达式匹配两个连续的单词不起作用?

perl:需要使用正则表达式帮助以特定条件替换两个单词内的文本

正则表达式使用python(或nltk)提取两个特定单词之间的内容

正则表达式提取单词

正则表达式:在两侧的两个空格之间匹配单词

Python正则表达式在行首标识两个连续的大写单词

使用正则表达式提取python中两个定义的单词之间的内容

正则表达式-至少匹配两个单词

正则表达式从文本中提取一个或两个值

在正则表达式Java中删除两个单词之间的字符

如何在Vim中使用正则表达式来搜索两个连续的单词?

正则表达式:最多两个相同的连续符号

两个或两个以上单词的正则表达式php

正则表达式:两个或多个连续字符或字符序列

正则表达式匹配两个单词,不匹配其他单词

两个连续数字的正则表达式否定

在正则表达式中查找两个单词之间的单词

在python正则表达式中提取字符前后的两个单词

修复正则表达式,错误匹配两个连续字符

正则表达式删除除两个单词之间的所有连字符

两个或多个连续或非连续大写字母的正则表达式

在Postgresql中使用正则表达式从字符串中提取前两个单词排除逗号