当前位置: 首页 > 知识库问答 >
问题:

如何用PHP中的Regex匹配字符串中的任意单词

皮安顺
2023-03-14

我有这些线。我希望有一个正则表达式来匹配它们,并在将它们传递给preg_match函数时返回true。

do you want to eat katak at my hometown?
do you want to eat teloq at my hometown?
do you want to eat tempeyek at my hometown?
do you want to eat karipap at my hometown?

如何在正则表达式中创建与上述模式匹配的模式?像这样:

do you want to eat * at my hometown?

星号(*)表示任何单词。这是我目前掌握的正则表达式模式:

$text = "do you want to eat meatball at my hometown?";
$pattern = "/do you want to eat ([a-zA-Z0-9]) at my hometown?/i";

if (preg_match($pattern, $text)) {
    echo "A match was found.";
} else {
    echo "A match was not found.";
}

([a-zA-Z0-9]) 格式在单词上不匹配。如何在单词上匹配字符串?

共有2个答案

连乐
2023-03-14
$text = "do you want to eat meatball at my hometown?";
$pattern = "/(\w+)(?=\sat)/";
if (preg_match($pattern, $text))

(\w)匹配一个或多个单词字符。

(?=\sat)是一个正前瞻,它匹配一个空格\s和处的字母

正则表达式现场演示

曹涵润
2023-03-14

使用量词:

$pattern = "/do you want to eat ([a-z0-9]*) at my hometown\?/i";
//                                here __^

并转义 ==

 类似资料:
  • 这是一个简单的问题,但请听我说完--Java家庭作业的一部分有一个密码验证器方法。要求是简单的-密码必须在6-10个字符之间,必须只由数字或字母,并必须有至少2个数字在它是有效的。我使用if语句并使用regex实现了这一点,出于某种原因,我无法使非单词字符regex匹配,尽管每个在线regex检查器都显示这应该是有效的,甚至用于regex检查的jetbrains插件也显示这应该是有效的。(我也明白

  • 我有这样一个字符串: “#影响@John@Me Lorem ipsum door sit amet,奉献给精英们,让他们暂时参与劳动和生活。但是,在最低限度上,我们需要一个实验室来进行日常工作。两人或两人在一个无教区的房间里互相指责。除偶尔因疏忽而死亡外,还必须因工作原因而受到伤害 我需要以两种方式“拆分”,删除第一个单词,因为它以“#”开头(我可以做/已经做过),第二个我想不出来-我需要从字符串

  • 问题内容: 解析一个字符串命令数组,我需要知道一个字符串是否包含特定的关键字。 我知道听起来很简单,但是问题出在命令关键字也可能是另一个单词的一部分时。 例如: 因此,我需要检查当前行是否具有CHECKSOUND,SOUND或CHECK命令。 如果我使用类似: 然后它可能会在之前找到,因此无法正确解析。 问题 : 有没有一种方法可以只查找整个单词(如SOUND)的出现,而忽略出现的SOUND(如果

  • 问题内容: 我认为我遇到了一个听起来比实际容易的问题……我不太确定。我想定义一个正则表达式,并且要构建一些与之匹配的字符串。 我可以导入具有该功能的任何模块吗?最好不要使用或暴力破解方法。必须有一种更优雅的方法来做到这一点。 问题答案: 我一直在研究一个小的帮助程序库,用于使用Python生成随机字符串 它包含一个方法,该方法允许您从正则表达式创建字符串: 目前,它适用于大多数基本正则表达式。

  • 我需要一个正则表达式(将在ZF2路由中使用,我相信它使用php的preg_match),匹配除特定字符串之外的任何内容。 比如:我需要搭配除了“红”、“绿”、“蓝”之外的任何东西。 我目前有正则表达式: 在最后一种情况下,正则表达式的行为不像我希望的那样。它应该与“redtest”匹配,因为“redtest”不是(“红色”、“绿色”或“蓝色”)。 有关于如何修复正则表达式的想法吗?

  • 我正在寻找正确的regex来为我提供以下结果: null 例子: 福吧 组1:foo 组2:bar 说明:在空格上拆分 组1:foo bar 描述:用双引号包围,所以将foo和bar分组,但不要打印双引号 null null null null null 组1:foo bar 组2:堆栈溢出 组1:foo'bar 组2:堆栈溢出 组3:如何 组4:do 组5:您 组6:do