允许在两个双引号正则表达式之间使用连字符

Allow Hyphen with word between two double quote regex

我已经创建了正则表达式来捕获双引号之间的单词。 示例

string = Hi[pause="x-weak"]Parth[pause="weak"]How[pause="medium"]are[pause="strong"]You[pause="x-strong"]tell me

regex = \[\h*pause\h*=\h*"\h*(\w+)\h*"\h*]

仅匹配 [pause="weak"]。我需要它来匹配所有带有 pause.

的标签

你可以使用

\[[^][]*pause="(?P<type>[^"]+)"

这也会捕获 type,参见 a demo on regex101.com


PHP 这可能是

<?php

$string = 'Hi[pause="x-weak"]Parth[pause="weak"]How[pause="medium"]are[pause="strong"]You[pause="x-strong"]tell me';
$regex = '~\[[^][]*pause="(?P<type>[^"]+)"~';

if (preg_match_all($regex, $string, $matches)) {
    print_r($matches);
}
?>

a demo on ideone.com