正则表达式用前面的字符破坏

时间:2018-08-22 05:02:44

标签: python regex

我正在尝试通过编译此正则表达式来从一组字符串中解析电话号码:

functionappname.csproj

这成功匹配“ +1(123)-456-7890”这样的行。但是,如果我在其前面添加任何内容,例如“ P:+1(123)-456-7890”,则该内容不匹配。我在Regex网站上进行了测试,但根本无法解决。

2 个答案:

答案 0 :(得分:0)

您可以考虑使用/** * Define the application's command schedule. * * @param \Illuminate\Console\Scheduling\Schedule $schedule * @return void */ protected function schedule(Schedule $schedule) { $schedule->command('SyncAPIOrders:orders') ->timezone('Asia/Kolkata') ->dailyAt('00:00'); } (进行扫描)代替re.search,后者仅查看字符串的开头。您可以改为在开头添加re.match

答案 1 :(得分:0)

您的正则表达式将返回以下结果

[('+1', '(123)-456-7890', '(', ')', '-', '-')]

如果格式是固定的,则可以使用类似的

phone = re.compile(r"\+\d\(\d+\)-\d+-\d+")

\ d-匹配数字。
+-一个或多个事件。
\ +-用于匹配“ +”
\(-用于匹配“(”

str = "P: +1(123)-456-7890"
phone.findall(str)

输出:

['+1(123)-456-7890']