Php “之间的一切”;[答复]";并提取回复号码
请看下面的情况Php “之间的一切”;[答复]";并提取回复号码,php,regex,extract,extraction,text-extraction,Php,Regex,Extract,Extraction,Text Extraction,请看下面的情况 [reply="292"] Text Here [/reply] 我想得到的是reply=“NUMBERS”中引用的数字。我想将它提取到一个变量中,并将[reply=“NUMBER”]这段文字[/reply]提取到另一个变量中 所以对于这个例子: [reply="292"] Text Here [/reply] 我想提取回复号码:292和reply标记之间的文本:此处的文本 我试过这个: \[reply\=\"]([A-Z]\w)\[\/reply] 但这只在reply标记
[reply="292"] Text Here [/reply]
我想得到的是reply=“NUMBERS”
中引用的数字。我想将它提取到一个变量中,并将[reply=“NUMBER”]这段文字[/reply]
提取到另一个变量中
所以对于这个例子:
[reply="292"] Text Here [/reply]
我想提取回复号码:292
和reply
标记之间的文本:此处的文本
我试过这个:
\[reply\=\"]([A-Z]\w)\[\/reply]
但这只在reply
标记不起作用之前有效。我该怎么做呢?简单
\[reply\=\"(\d+)\"](.*?)\[\/reply]
解释
\d
+
用于指定字符的一次或多次出现[\w\s]
用于word和空格中的任何字符(\s
)<?php
$str = "[reply=\"292\"] Text Here [/reply]";
preg_match('/\[reply\=\"(\d+)\"]([\w\s]+)\[\/reply]/', $str, $re);
print_r($re[1]); // printing group 1, the reply number
print_r($re[2]); // printing group 2, the text
?>
重要的!!
只获取组值,而不是全部。无论如何,你只需要一部分。简单
\[reply\=\"(\d+)\"](.*?)\[\/reply]
解释
\d
+
用于指定字符的一次或多次出现[\w\s]
用于word和空格中的任何字符(\s
)<?php
$str = "[reply=\"292\"] Text Here [/reply]";
preg_match('/\[reply\=\"(\d+)\"]([\w\s]+)\[\/reply]/', $str, $re);
print_r($re[1]); // printing group 1, the reply number
print_r($re[2]); // printing group 2, the text
?>
重要的!!
只获取组值,而不是全部。您只需要其中的一部分。我保留了泛型(.*),但您可以指定类似decimal(\d+)的类型
php:
javascript:
s = '[reply="292"] Text Here [/reply]'
s.match(/\[reply=\"(.*)\"\](.*)\[\/reply\]/)
//["[reply="292"] Text Here [/reply]", "292", " Text Here "]
我保留了泛型(.*),但您可以指定类似decimal(\d+)的类型
php:
javascript:
s = '[reply="292"] Text Here [/reply]'
s.match(/\[reply=\"(.*)\"\](.*)\[\/reply\]/)
//["[reply="292"] Text Here [/reply]", "292", " Text Here "]
嗨,谢谢。抱歉,这可能会让人困惑,但它不适用于除数字和字母(文本)以外的任何其他内容。抱歉,我在StackOverflow中每次回答时都对我的答案进行迭代更新。请查看最新更新。我确信它是完美的不幸的是,除了字母和数字之外,它对任何东西都不起作用。我认为它就是这个意思。这就是我这么做的原因。我可以让它匹配所有的东西。没关系,谢谢。抱歉,这可能会让人困惑,但它不适用于除数字和字母(文本)以外的任何其他内容。抱歉,我在StackOverflow中每次回答时都对我的答案进行迭代更新。请查看最新更新。我确信它是完美的不幸的是,除了字母和数字之外,它对任何东西都不起作用。我认为它就是这个意思。这就是我这么做的原因。我可以让它匹配所有的东西。别在意这个网站不是/不应该是一个个人正则表达式生成器。而且,在你的管辖范围内冒充他人并不酷/可能是非法的。@LightnessRacesinOrbit你在说什么?你是真正的泰勒·斯威夫特吗?这个celebrity@TaylorSwift:很好。这个网站不是/不应该是一个个人正则表达式生成器。而且,在你的管辖范围内,模仿他人并不酷/可能是非法的。@LightnessRacesinOrbit你在说什么?你是真正的泰勒·斯威夫特吗?这个celebrity@TaylorSwift:很好。谢谢,适用于数字、字母和几乎所有的东西。谢谢,适用于数字、字母和几乎所有的东西。