繁体   English   中英

正则表达式模式来获取搜索查询的数字和带有新行的标志?

[英]Regex pattern to get the number bofre the searched query and a flag with new lines?

我有这个字符串:

-wordpagefound: 1 offerte 201135455 fam. gaudino, umbau wohnung, winterthur seite 3 von 17
rektifikat
projekt 7514505

pos.nr menge uberschrift artikelnummer richtpreis betrag
me bild artikelbeschreibung exkl. mwst exkl. mwst

dusche - wc eltern

如果我搜索“wc”,如何在-wordpagefound:之后立即获得号码? 我需要获取包含新行的页面(用于 OCR 目的)。

我试图这样做preg_match_all('/(-wordpagefound).*([0-9]).*('.$searchText.')/mi', $file->text, $matches, PREG_OFFSET_CAPTURE)但显然是因为的新行它不起作用。

先感谢您!

您可以使用

/-wordpagefound\D*(\d+).*?\bwc\b/si
/-wordpagefound\D*\K\d+(?=.*?\bwc\b)/si

请参阅正则表达式演示/正则表达式演示 #2

详情

  • -wordpagefound - 一个固定的字符串
  • \D* - 零个或多个非数字
  • (\d+) - 第 1 组:一位或多位数字
  • .*? - 尽可能少的任何零个或多个字符
  • \bwc\b - 一个完整的单词wc

第二个正则表达式是第一个正则表达式的变体,其中\K丢弃到目前为止匹配的所有文本,并且将正确的正则表达式部分包含在正前瞻中以检查模式是否存在但从匹配中排除。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM