PHP正则表达式:如何匹配破折号之前的单词?

发布于 2025-01-10 20:52:38 字数 210 浏览 0 评论 0原文

这是我的代码,但它不起作用。如何匹配破折号之前的单词?

$str = '-Lorem Ipsum is simply dummy- text of the printing';
preg_match('/(.*)\-/', $str, $matches);

预期输出:虚拟

非常感谢您的帮助!

Here's my code, but it's not working. How can I match the word before dash?

$str = '-Lorem Ipsum is simply dummy- text of the printing';
preg_match('/(.*)\-/', $str, $matches);

Expected Output: dummy

Thanks a lot for your help!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

作妖 2025-01-17 20:52:38

试试这个:

preg_match('/(\S+)-/', $str, $matches);

echo ($matches[1] ?? null);

\S 表示“任何非空白字符”。所以这有点像说“将一个或多个非空白字符与连字符匹配”。

在 regex101 上进行测试:https://regex101.com/r/E3gOqm/1

Try this:

preg_match('/(\S+)-/', $str, $matches);

echo ($matches[1] ?? null);

The \S means "Any non-whitespace character". So it's kind of like saying "Match one or more non-whitespace characters up to a hyphen."

Test it out at regex101: https://regex101.com/r/E3gOqm/1

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文