首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >正则表达式匹配电话号码?

正则表达式匹配电话号码?
EN

Stack Overflow用户
提问于 2009-11-14 21:28:19
回答 5查看 5.7K关注 0票数 2

我想匹配一个可以有字母和可选连字符的电话号码:

  • 这是有效的:333-WELL
  • 这也是有效的:4URGENT

换句话说,最多可以有一个连字符,但是如果没有连字符,最多可以有7个0-9或A字符。

我不知道如何在regex中做和"if语句“。这可能吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-11-14 21:29:46

您寻找用管道字符表示的替换运算符:|

但是,您可能需要7个选项(每个连字符位置1个+无连字符1个),或者您可能需要在第3和第4个字符之间使用连字符,并使用2个选项。

交替运算符的一种使用定义了两个备选方案,如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
({3,3}[0-9A-Za-z]-{4,4}[0-9A-Za-z]|{7,7}[0-9A-Za-z])
票数 4
EN

Stack Overflow用户

发布于 2009-11-14 21:36:47

我认为这应该可以做到:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/^[a-zA-Z0-9]{3}-?[a-zA-Z0-9]{4}$/

它匹配3个字母或数字,后面是一个可选的连字符,后面是4个字母或数字。这个在红宝石里工作。根据您正在使用的regex引擎,您可能需要稍微修改它。

票数 5
EN

Stack Overflow用户

发布于 2009-11-14 21:41:48

不知道这算不算,但我会把它分解成两个正则表达式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#!/usr/bin/perl

use strict;
use warnings;

my $text = '333-URGE';

print "Format OK\n" if $text =~ m/^[\dA-Z]{1,6}-?[\dA-Z]{1,6}$/;
print "Length OK\n" if $text =~ m/^(?:[\dA-Z]{7}|[\dA-Z-]{8})$/;

这应该避免接受多个破折号,在错误的地方破折号等.

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1736686

复制
相关文章
正则表达式 - 电话号码
        写一个正则表达式匹配电话号码,并且括号、连字符或点号都是可选的。假定合规数据只包含以下15种匹配模式之一:
用户1148526
2023/04/28
6220
正则表达式 - 电话号码
正则表达式匹配身份证 电话号码 邮箱 住宅电话 邮编等
身份证号码的匹配 大陆的居民身份证号码有两种:18位和15位,15位的身份证号码是老一代身份证号码。
大师级码师
2021/10/27
1.3K0
Python正则表达式匹配电话号码和邮箱实例演示,正则表达式的基本用法
以上两个例子仅是正则表达式的简单应用,正则表达式在实际应用中还有许多高级用法,需要根据具体情况进行调整。
小蓝枣
2023/04/30
1.2K0
[剑指offer] 正则表达式匹配
请实现一个函数用来匹配包括’.’和’*’的正则表达式。模式中的字符’.’表示任意一个字符,而’*’表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串”aaa”与模式”a.a”和”ab*ac*a”匹配,但是与”aa.a”和”ab*a”均不匹配
尾尾部落
2018/09/04
1.3K0
正则表达式匹配
该文讲述了如何用正则表达式匹配包括‘.’和‘*’在内的正则表达式。‘.’表示任意一个字符,而‘*’表示它前面的字符可以出现任意次(包含0次)。该算法利用动态规划的思想,结合字符串和模式的特点,进行匹配。
用户1148830
2018/01/03
1.6K0
正则表达式匹配_正则表达式匹配字符串长度
请实现一个函数用来匹配包括’.’和’*’的正则表达式。模式中的字符’.’表示任意一个字符,而’*’表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串”aaa”与模式”a.a”和”ab*ac*a”匹配,但是与”aa.a”和”ab*a”均不匹配
全栈程序员站长
2022/09/19
2K0
正则表达式:验证手机和电话号码
写了一个验证手机号和电话号码的正则表达式,在这里存档,以备以后用到。 ^1\d{10}$|^(0\d{2,3}-?|\(0\d{2,3}\))?[1-9]\d{4,7}(-\d{1,8})?$ 规则说
艳艳代码杂货店
2021/10/27
4.3K0
正则表达式范围匹配
近期小编在进行评测语料的制作时,涉及到一些复杂字符串的过滤和提取等内容,例如找出某一句话中在某个特定语句结构下出现的文字,虽然使用循环,if-else等语句可以搞定,但是比较麻烦,使用正则表达式处理就比较方便。
用户5521279
2020/03/19
3.2K0
正则表达式匹配网址
正则表达式 "(http|ftp|https):\\/\\/[\\w\\-_]+(\\.[\\w\\-_]+)+([\\w\\-\\.,@?^=%&:/~\\+#]*[\\w\\-\\@?^=%&/~
红目香薰
2022/11/30
1.5K0
使用正则表达式判断合法的电话号码
最近碰到了这样一个需求,提交标单的时候判断用户(国内)是否在输入框输入了正常的手机或者电话座机号码。 手机号码格式比较固定,无非是13x xxxx xxxx或者15x xxxx xxxx再或者18x xxxx xxxx的格式。座机就比较麻烦,比如长途区号变长(3位或者4位)电话号码变长(7位或者8位)有些还需要输入分机号。 通常可以看到解决这个复杂问题的解决方案是手机号和座机号分开。座机号拆分成三段,区号,电话号码+分机号。但是为了表单看起来清爽,设计的时候给了一个“万能”的输入框,给用户输入电话号码或者手
葡萄城控件
2018/01/10
2.4K0
java验证电话号码的正则_java使用正则表达式判断电话号码
I want to have phone number in working combination of ‘0’ followed by 10 digit mobile number (or) 0091 folllowed by 10 digit mobile number (or) +91 followed by 10 digit number.
全栈程序员站长
2022/09/30
3790
正则表达式之贪婪匹配 VS 非贪婪匹配
我们知道,许多程序设计语言都支持利用功能强大的正则表达式进行字符串操作,SAS中也有用正则表达式的PRX Function,平时在写正则表达式的时候会常碰到贪婪匹配与非贪婪匹配的问题。
专业余码农
2020/07/16
2.4K0
Java正则匹配空格_js正则表达式匹配空格
针对tab键带来的多个空格问题,有时候我们针对带空格的一行数据要进行切割,如果有多个空格就会出现就会切割空格出现,我们想把空格都去掉,所以需要用到某些方法。
全栈程序员站长
2022/11/09
11.1K0
LeetCode【10】-- 正则表达式匹配
给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 '.' 和 '*' 的正则表达式匹配。
秦怀杂货店
2022/02/15
1.2K0
正则表达式 “双向最小匹配”
最近做一个 字符串查找的例子从字符串中提取制定内容 如下: String input = " rel=\"shadowbox;width=720\">外観図面"; 需要提取   "auth
明明如月学长
2021/08/27
1.9K0
Python正则表达式:最短匹配
目录[-] 最短匹配应用于:假如有一段文本,你只想匹配最短的可能,而不是最长。 例子 比如有一段html片段,<a>this is first label</a><a>the second labe
jhao104
2018/03/20
2.9K0
10. 正则表达式匹配
给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 '.' 和 '*' 的正则表达式匹配。
用户3519280
2023/07/08
1620
Perl正则表达式 模式匹配[通俗易懂]
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/142836.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/25
1.4K0
Perl正则表达式:正则匹配
我们已知在Perl中正则表达式被称为模式,这种模式(也即正则表达式)可以放在由成对符号(例如()、<>、{}等)或者一对不成对的符号(例如//、!!、^^等)组成的界定符内,并在界定符前用小写字母指定模式的种类。当然我们不希望界定符和正则表达式的符号有所冲突(如果实在有冲突可以使用反斜杠转义),事实上最常用的界定符为双斜杠//。在Perl中有很多处理模式,其中最简单的为匹配模式m//,或者也可以理解为查找模式。由于正则表达式本身就有匹配的含义,以双斜杠作为定界符时m可以省略。其他处理模式详见下一小节。
SYSU星空
2022/05/05
4.2K0
Perl正则表达式:正则匹配
10. 正则表达式匹配
给定一个字符串 (s) 和一个字符模式 (p)。实现支持 ‘.’ 和 ‘*’ 的正则表达式匹配。
张伦聪zhangluncong
2022/10/26
7480

相似问题

电话号码匹配正则表达式

11

正则表达式与电话号码匹配

12

匹配土耳其电话号码的正则表达式

31

匹配所有电话号码的正则表达式

20

匹配美国电话号码的正则表达式

50
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文