Php 如果有前导号码,请删除括号内的号码
我有多种类型的字符串。如果是Php 如果有前导号码,请删除括号内的号码,php,regex,Php,Regex,我有多种类型的字符串。如果是数字文本(text)我想删除括号内的内容。否则就不行了 这将删除括号内的所有内容 /\((.*?)\)/ 如何检查前导号码?\d匹配任何数字。还有一个比使用不发音的重复更好的方法: /\d\s*\(([^)]*)\)/ 如果空间是强制性的,请使用: /\d\s+\(([^)]*)\)/ 如果您不想在a1(文本)的情况下进行匹配,请使用: /\b\d+\s*\(([^)]*)\)/ 对于删除,可能更容易匹配括号周围的内容(我使用第一个正则表达式作为示例,但这可以
数字文本(text)
我想删除括号内的内容。否则就不行了
这将删除括号内的所有内容
/\((.*?)\)/
如何检查前导号码?
\d
匹配任何数字。还有一个比使用不发音的重复更好的方法:
/\d\s*\(([^)]*)\)/
如果空间是强制性的,请使用:
/\d\s+\(([^)]*)\)/
如果您不想在a1(文本)
的情况下进行匹配,请使用:
/\b\d+\s*\(([^)]*)\)/
对于删除,可能更容易匹配括号周围的内容(我使用第一个正则表达式作为示例,但这可以应用于所有三种情况):
对于第一种情况(如果a1(text)
中的text
也应删除),并且如果将空格数量限制为一个,还可以使用稍微高效的变体,使用lookback:
$str = preg_replace('/(?<=\d\s)\([^)]*\)/', '()', $str);
$str=preg\u replace('/(?\d
匹配任何数字。并且有一个比使用ungreedy重复更好的方法:
/\d\s*\(([^)]*)\)/
如果空间是强制性的,请使用:
/\d\s+\(([^)]*)\)/
如果您不想在a1(文本)
的情况下进行匹配,请使用:
/\b\d+\s*\(([^)]*)\)/
对于删除,可能更容易匹配括号周围的内容(我使用第一个正则表达式作为示例,但这可以应用于所有三种情况):
对于第一种情况(如果a1(text)
中的text
也应删除),并且如果将空格数量限制为一个,还可以使用稍微高效的变体,使用lookback:
$str = preg_replace('/(?<=\d\s)\([^)]*\)/', '()', $str);
$str=preg_replace('/(?使用此正则表达式
(\d[^\(\)]*?\().*?(\))
^ ^ ^
| | |->2nd group matches )
| |->matches content within ()
|->1st group would match a digit followed by 0 to many characters(except ())followed by (
并将其替换为
$1$2
使用这个正则表达式
(\d[^\(\)]*?\().*?(\))
^ ^ ^
| | |->2nd group matches )
| |->matches content within ()
|->1st group would match a digit followed by 0 to many characters(except ())followed by (
并将其替换为
$1$2
配合
$s = preg_replace('/(?<=\d)\s*\([^)]*\)/', '', $s);
$s=preg_replace('/(?随附
$s = preg_replace('/(?<=\d)\s*\([^)]*\)/', '', $s);
$s=preg_replace(“/”?如果没有前导号,是否要删除括号内的数字否。如果有前导号,我要删除文本(包含数字)括号内。否则,括号内的内容必须保持不变。如果没有前导号,是否要删除括号内的数字否。如果有前导号,我要删除括号内的文本(包含数字)。否则,括号内的内容必须保持不变。变长查找(?可变长度查找)(?如果格式是数字文本(文本)
,例如2公里(17:00)
?谢谢,太棒了!你能推荐一些好的源代码来学习正则表达式吗?如果格式是数字文本(文本)
,例如2公里(17:00)怎么办
?谢谢,太棒了!你能推荐一些好的资源来学习正则表达式吗?