我必须搜索很多带有格式示例的文本

traded_as = {{NASDAQ|GOOG}}<br>{{NASDAQ|GOOGL}}<br>[[Company name]]<br>.

文本的一般格式是variable = some text here [[ word ]] some text here 有人可以通过通用正则表达式来帮助我吗?无论该词前后的性质如何,它都只能使我[[word]]侧的单词。 我试图借助在线正则表达式测试器创建不同的Regx表达式,但是当文本前后的文本性质发生变化时,它给我错误的匹配。

这是我尝试过的reqex表达式之一

$re1='.*?'; # Non-greedy match on filler
  $re2='((?:[a-z][a-z]+))'; # Word 1
  $re3='(\\s+)';    # White Space 1
  $re4='(=)';   # Any Single Character 1
  $re5='(\\s+)';    # White Space 2
  $re6='.*?';   # Non-greedy match on filler
  $re7='((?:[a-z][a-z]+))'; # Word 2

  if ($c=preg_match_all ("/".$re1.$re2.$re3.$re4.$re5.$re6.$re7."/is", $txt, $matches))
  {
      $word1=$matches[1][0];
      $ws1=$matches[2][0];
      $c1=$matches[3][0];
      $ws2=$matches[4][0];
      $word2=$matches[5][0];
      print "($word1) ($ws1) ($c1) ($ws2) ($word2) \n";
  }

===============>>#1 票数:1 已采纳

尝试以下

preg_match('/\[\[([^]]*)\]]/', $txt, $match);
echo $match[1];

===============>>#2 票数:1

<?php
    $string = "{{NASDAQ|GOOG}}<br>{{NASDAQ|GOOGL}}<br>[[Company name]]<br>";
    preg_match('/\[\[(.*?)\]\]/', $string, $regs);
        $result = $regs[1];
        echo $result;
        //Company name
?>

http://ideone.com/yH6eD9

Match the character “[” literally «\[»
Match the character “[” literally «\[»
Match the regular expression below and capture its match into backreference number 1 «(.*?)»
   Match any single character that is not a line break character «.*?»
      Between zero and unlimited times, as few times as possible, expanding as needed (lazy) «*?»
Match the character “]” literally «\]»
Match the character “]” literally «\]»

  ask by user3335188 translate from so

未解决问题?本站智能推荐:

2回复

简单的正则表达式,用于数字和单词匹配

我正在尝试使用正则表达式匹配以下模式: 我正在使用以下代码使用正则表达式查找它 它不起作用:/。 任何帮助,将不胜感激! 整个文档中只会出现上述PATTERN。 编辑 这段代码只是生成
1回复

PHP正则表达式可以匹配整个单词

即时通讯使用PHP,我需要从一些卷曲响应到网站刮一些信息。 我正在模拟浏览器的ajax请求和浏览器的正常(整个)页面请求,但是ajax响应与html的此部分中的整个页面请求略有不同。 Ajax响应为: <div id="accountProfile"><h2>TH
2回复

PHP正则表达式匹配单词并停止

我有一个类似http://website.com/clothes/men/type/t-shirts/color/red/size/xl...的URL,当URL像这样的http://website.com/clothes/(men or woman)/type/any-type时,我需要执行一个
3回复

如何使用正则表达式(php)匹配此单词

我有这个关键字3D DL1 现在,我想从用户提交的数据中搜索3D DL1关键字。 只要句子中存在3D和DL1,该规则就有效(不区分大小写)。 例如: BLASDHSDHD * 3D * 8qw9e08e2323 * DL1 *(有效) BLASDHSDHD * 3d
4回复

我的正则表达式不适用于简单的单词匹配

我想看看当前请求是否在本地主机上。 为此,我使用以下正则表达式: 这是$url的var_dump() : 虽然一直返回false。 这个正则表达式有什么问题?
2回复

如何在PHP中用正则表达式匹配大写单词字符?

我知道有[AZ]表示法。.但是我不确定[az]是否与\\w相同。 我想匹配\\w ,但前提是它是大写的。 这应该包括所有奇怪的字符,例如Ę, Ą, Ś, Ć, Ź, Ż, Ś, Ł, Ó, Ń 。
3回复

正则表达式以匹配php中的特定单词

我在php中进行了字符串preg匹配。 从下面的字符串中,我需要匹配“ index.php?c_id =”,并需要获取该字符串的值。 (例如:index.php的C_ID = 161377?) 我需要输出:161377 161376 谢谢和问候凯夫
2回复

正则表达式:匹配字符串PHP中的整个单词

我的示例字符串是 印度印度的印度。 我只想将“印度”作为一个整体进行匹配。 我的正则表达式是/\\b(india)\\b/i 。 但这给了我2场比赛。 一个在“印度”中,另一个在最后一个词中。 为了避免将印度引入印度,我使用了此正则表达式/\\b(india)[
1回复

PHP正则表达式:匹配所有内容,直到出现一个单词

在PHP中,我希望匹配所有内容,直到出现某个单词: 现在,我想匹配String1和String2之间的所有内容,但是由于某些原因,这不起作用。 如果您知道我的意思,我在想您可以像#String1(^String2 here+)String2 here#这样吗?
2回复

正则表达式在中间但在末尾匹配单词? (php崩溃:(

我想找到在标签和没有行缩进的返回之间的行。 例: 如果我使用我的最后一个返回其他单词。 例如发送它的作品。 但是$ r2不起作用。 Perl崩溃。 这是php中用于测试的示例 如果这不起作用,那么我将使用循环抛出所有源代码行。 我将通过此工具使用它来漂亮地