php preg_
我不愿意问,但我无法理解php preg_替换和忽略某些刺痛php preg_,php,regex,preg-replace,Php,Regex,Preg Replace,我不愿意问,但我无法理解php preg_替换和忽略某些刺痛 $string = '2012042410000102'; $string需要看起来像_0424_102 显示的数字总是变化的,2012年每年都在变化 我所尝试的: ^\d{4}[^\d{4}]10000[^\d{3}]$ ^\d{4}[^\d]{4}10000[^\d]{3}$ 任何帮助都将不胜感激。我知道这是一个很难回答的问题,但对任何帮助我的人来说都很容易 谢谢您的第一个正则表达式正在寻找: 字符串的开头 四位数(年份)
$string = '2012042410000102';
$string需要看起来像_0424_102
显示的数字总是变化的,2012年每年都在变化
我所尝试的:
^\d{4}[^\d{4}]10000[^\d{3}]$
^\d{4}[^\d]{4}10000[^\d]{3}$
任何帮助都将不胜感激。我知道这是一个很难回答的问题,但对任何帮助我的人来说都很容易
谢谢您的第一个正则表达式正在寻找:
- 字符串的开头
- 四位数(年份)
- 不是数字或{或}的任何单个字符
- 数字是10000
- 不是数字或{或}的任何单个字符
- 弦外之音
- 字符串的开头
- 四位数(年份)
- 非数字的任意四个字符
- 数字是10000
- 非数字的任意三个字符
- 弦外之音
^\d{4}(\d{4})10000(\d{3})$
替代品应为:
_$1_$2
此正则表达式查找:
- 字符串的开头
- 四位数(年份)
- 捕获四位数字(月和日)
- 数字是10000
- 捕获三位数字(示例末尾的
)102
- 弦外之音
- 字符串的开头
- 四位数(年份)
- 不是数字或{或}的任何单个字符
- 数字是10000
- 不是数字或{或}的任何单个字符
- 弦外之音
- 字符串的开头
- 四位数(年份)
- 非数字的任意四个字符
- 数字是10000
- 非数字的任意三个字符
- 弦外之音
- 您的第一个正则表达式正在寻找:
^\d{4}(\d{4})10000(\d{3})$
替代品应为:
_$1_$2
此正则表达式查找:
- 字符串的开头
- 四位数(年份)
- 捕获四位数字(月和日)
- 数字是10000
- 捕获三位数字(示例末尾的
)102
- 弦外之音
$string = '2012042410000102';
$new = '_'.str_replace('10000', '_', substr($string, 4));
只需使用简单的字符串函数:
$string = '2012042410000102';
$new = '_'.str_replace('10000', '_', substr($string, 4));
尝试以下操作:
^\d{4}|10000(?=\d{3}$)
这将匹配字符串中的前四位数字,如果字符串末尾前的“10000”后面有三位数字,则匹配字符串“10000”
您可以这样使用它:
preg_replace('/^\d{4}|10000(?=\d{3}$)/', '_', $string);
尝试以下操作:
^\d{4}|10000(?=\d{3}$)
这将匹配字符串中的前四位数字,如果字符串末尾前的“10000”后面有三位数字,则匹配字符串“10000”
您可以这样使用它:
preg_replace('/^\d{4}|10000(?=\d{3}$)/', '_', $string);
如果它们始终位于相同的字符位置,则正则表达式似乎不必要。您可以使用子字符串来获取所需的部件,如
sprintf('_%s_%s', substr($string,4,4), substr($string,13))
或
如果它们总是位于相同的字符位置,则正则表达式似乎不必要。您可以使用子字符串来获取所需的部件,如
sprintf('_%s_%s', substr($string,4,4), substr($string,13))
或
基本上,你想用下划线替换前四位数字和“10000”?如果你写
[^\d]
这意味着匹配非小数。基本上,你想用下划线替换前四位数字和“10000”?如果你写[^\d]
这意味着匹配非小数。你怎么做两个分隔符?2012年第一部分为空白,100000?@knittledan为uu。为此,您可能需要使用类似Kolink的解决方案,匹配整个字符串,并使用捕获组保留不希望删除的部分。如何使用两个分隔符?2012年第一部分为空白,100000?@knittledan为uu。为此,您可能需要使用类似Kolink的解决方案,匹配整个字符串,并使用捕获组保留不希望删除的部分。