簡體   English   中英

PHP 用於提取左括號和以下文本的正則表達式

[英]PHP regex to extract both open parenthesis and the following text

我正在嘗試檢測傳入單詞的初始左括號,如果是這樣,還提取前面的文本。

例如:

一個可能的輸入詞可能是:

(原版的

這個想法是一方面有左括號

“(”

另一方面

“原版的”

這就是我目前擁有的:

preg_match('/(\()(\w+)/', $input_line, $output_array);

以這種方式匹配:

array(3
0   =>  (original
1   =>  (
2   =>  original
)

我正在努力讓它返回類似的東西:

array(2
0   =>  (
1   =>  original
)

我知道它可以使用strpos完成並從那里拆分,但此外,它不僅是左括號而且是花括號等......所以正則表達式應該匹配幾個字符。

我缺少什么? 謝謝!

0索引是完全匹配的模式。 之后的每個索引都是一個捕獲組。

https://www.php.net/manual/en/function.preg-match.php

$matches[0] 將包含與完整模式匹配的文本,$matches[1] 將包含與第一個捕獲的帶括號的子模式匹配的文本,依此類推。

您可以獲得 output ,您希望將模式更改為在\w+的正前瞻中使用捕獲組,並匹配(

preg_match('/\((?=(\w+))/', "(original", $output_array);
print_r($output_array);

Output

Array
(
    [0] => (
    [1] => original
)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM