我无法让这个正则表达式工作:
"4. 182 ex" (number, period, 2 blank spaces, 3 numbers, blank space, 2 characters"
正则表达式语法应返回“4182”并删除句点、空格和字符。
你能帮我吗?
EDIT!!!
谢谢大家,但我错过了关键问题:
a) 正则表达式应only当同一行包含特定文本(例如“magic”)时查找值(4182),例如:
《魔法4.182前》
b) 当表包含特定文本(例如“Magic”)时,正则表达式“仅”查找值 (4182):
《魔法4.182前》
利塞菲奥 2. 123 fg
尼奥斯 3. 124 df"
特定文本 = 完全匹配或包含这些字符
到目前为止我已经尝试过的正则表达式,但它适用于整个表(而不仅仅是一行)吗?
(魔法.*?(\d).\s\s(\d{3})\s\w\w)
只需删除所有非数字字符:
Perl:
$string =~ s/\D+//g;
or
php:
$string = preg_replace('/\D+/', '', $string);
根据您更新的问题,您可以这样做:
$string =~ s/^Magic(\d+)\. (\d{3})\b.*$/$1$2/
或者,使用 php:
$string = preg_replace('/^Magic(\d+)\. (\d{3})\b.*$/', '$1$2', $string);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)