Regex 需要使用正则表达式查找电话号码和字符串的帮助吗

Regex 需要使用正则表达式查找电话号码和字符串的帮助吗,regex,Regex,我不熟悉regex,我尝试使用regex查找问号后面和管道前面的任何字符数,以及电话号码。有人能帮我吗?下面是一个示例URL 正则表达式应该找到“demo”和“1555555”如果您自己创建该链接,我建议您编写一个公共$GET变量。你不需要任何正则表达式 您可以使用此正则表达式: \?(\w+)\|(\d+) MATCH 1 1. [21-25] `demo` 2. [26-37] `15555555555` 这是一个带有命名捕获组的正则表达式,我还尝试了多种不同数字格式的可能性

我不熟悉regex,我尝试使用regex查找问号后面和管道前面的任何字符数,以及电话号码。有人能帮我吗?下面是一个示例URL


正则表达式应该找到“demo”和“1555555”

如果您自己创建该链接,我建议您编写一个公共$GET变量。你不需要任何正则表达式


您可以使用此正则表达式:

\?(\w+)\|(\d+)

MATCH 1
1.  [21-25] `demo`
2.  [26-37] `15555555555`


这是一个带有命名捕获组的正则表达式,我还尝试了多种不同数字格式的可能性

Regex

(?<=\?)(?'name'[\w\s%]+)\|(?'phone'[\+\w-\(\)\s%]+)(?:\n|$)
结果

  • 比赛1
    • 名称[21-25]
      demo
    • 电话[26-37]
      1555555
  • 比赛2
    • 名称[59-64]
      Local
    • 电话[65-73]
      754-3010
  • 比赛3
    • 名称[95-103]
      国内
    • 电话[104-118]
      (541)754-3010
  • 第四场
    • 名称[140-153]
      International
    • 电话[154-169]
      +1-541-754-3010
  • 第五场
    • 姓名[191-207]
      在美国拨打
    • 电话[208-222]
      1-541-754-3010
  • 第六场
    • 姓名[244-263]
      从德国拨打
    • 电话[264-280]
      001-541-754-3010
  • 第七场
    • 姓名[302-320]
      从法国拨打
    • 电话[321-337]
      191 541 754 3010
  • 第八场
    • 姓名[359-364]
      skype
    • 电话[365-377]
      155555-SKYPE
  • 第九场
    • 名称[444-463]
      一个%20转义的%20名称
    • 电话[464-486]
      191%20541%20754%203010

试试看,哈哈哈。这就是问题所在。我使用的是第三方web服务,它只接受一个GET参数。我正在寻找一个解决办法,因为@hjpotter92说:\?(\w+)\(\d+)你可以测试正则表达式,例如。这里非常感谢hjpotter92!!!!!!!非常感谢您抽出时间并给出详细的解释!
(?<=\?)(?'name'[\w\s%]+)\|(?'phone'[\+\w-\(\)\s%]+)(?:\n|$)
http://www.myurl.com?demo|15555555555
http://www.myurl.com?Local|754-3010
http://www.myurl.com?Domestic|(541) 754-3010
http://www.myurl.com?International|+1-541-754-3010
http://www.myurl.com?Dialed in the US|1-541-754-3010
http://www.myurl.com?Dialed from Germany|001-541-754-3010
http://www.myurl.com?Dialed from France|191 541 754 3010
http://www.myurl.com?skype|155555-SKYPE
http://www.myurl.com?an%20escaped%20name|191%20541%20754%203010