我对正则表达式很陌生,正在寻求帮助从 HTML 文本中解析出电话号码
在源站点,html 标签非常扭曲,并且没有任何我可以使用的唯一选择器。下面是我要解析的可能性列表。
raw = """+49 39291 55-217
02102 7007064
0152 01680970
+49 39291 55-216
02102 3802 22
0800 333004 451-100
+49 221 9937 26950
02151-47974510
+49(0)6105 937 -539
0211/409 2268
+49(0)6105 937 -539
+49211/584-623
0211 58422 2012
+49 (9131) 7-35335
+49 521 9488 2470
+ 49-40-70 70 84 - 0
0211 17 95 99 04
02151-47974327
+49 203 28900 1121
0211 9449-2555
+49 (5 41) 9 98 -2268"""
Run Code Online (Sandbox Code Playgroud)
我试过这种模式,但无法从中了解更多
import re, requests
Phones = re.findall(re.compile(r'.*?(\(?\d{3}\D{0,3}\d{3}\D{0,3}\d{4}).*?'),raw)
phones
['102 …Run Code Online (Sandbox Code Playgroud) 我使用以下模式作为电话号码的正则表达式
pattern="[0-9 -+]+$";
Run Code Online (Sandbox Code Playgroud)
电话号码可能包含数字,连字符( - ),空格和加号(+).它只在我使用数字时有效.使用数字和字母时,它不起作用.
可能是什么问题,请告诉我.
提前致谢
这没有回答我的问题.
可能的输入(可能有空格):
因此,如果你只为数字正则表达式s/[^\d]//g,你希望得到3个选项之一:
我想格式化如下:
这是if根据长度做声明的最好方法吗?或者是否有更多的单线方法?
我使用以下代码在c ++中存储电话号码(10位数字):
#include<iostream.h>
void main(){
long long num;
cin>>num;
cout<<num;
}
Input:998578985
output:1395855233
Run Code Online (Sandbox Code Playgroud)
为什么会这样?有没有其他方法来存储10位数字.我在win7中使用turboc ++.

我正在尝试根据另一个堆栈溢出问题中提供的模式创建一个手机正则表达式.
这是我用Python创建它的语法:
def phoneRegex = r'^(?:(?:\+?1\s*(?:[.-]\s*)?)?(?:\(\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*\)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\s*(?:[.-]\s*)?)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)?([0-9]{4})(?:\s*(?:#|x\.?|ext\.?|extension)\s*(\d+))?$'
Run Code Online (Sandbox Code Playgroud)
但是,运行此代码时,我收到错误:
^ SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?我是否需要以某种方式逃避角色?
这是我昨天提出的上一个问题的另一个问题.我希望允许用户以下列格式键入美国电话号码.
(800)-555-1212
800-555-1212
并让它只检查数据库中的数字8005551212
我见过像正则表达式那样
/^[\+]?([0-9]*)\s*\(?\s*([0-9]{3})?\s*\)?[\s\-\.]*([0-9]{3})[\s\-\.]*([0-9]{4})[a-zA-Z\s\,\.]*[x\#]*[a-zA-Z\.\s]*([\d]*)/
可能有用,但我不确定如何从我提供的链接中将其实现到代码中
我是php的新手,对正则表达式一无所知.任何帮助表示赞赏.
我有这个正则表达式var re = /(?:\d{3}|\(\d{3}\))([\w-\/\.]?)\d{3}\1\d{4}/;,但是,\w空格不适用于此测试console.log(re.test('123 456 7890'));
这是我的jsfiddle:http://jsfiddle.net/Bqb22/
试图找出如何解析留在字符串中的电话号码.
例如
"Hi Han, this is Chewie, Could you give me a call on 02031234567"
"Hi Han, this is Chewie, Could you give me a call on +442031234567"
"Hi Han, this is Chewie, Could you give me a call on +44 (0) 203 123 4567"
"Hi Han, this is Chewie, Could you give me a call on 0207-123-4567"
"Hi Han, this is Chewie, Could you give me a call on 02031234567 OR +44207-1234567"
Run Code Online (Sandbox Code Playgroud)
并且能够始终用其他项目(例如一些文本或链接)替换它们中的任何一个.
我假设它是一种正则表达式的方法(我已经做了类似的电子邮件,效果很好).
我得
text.scan(/([^A-Z|^"]{6,})/i)
Run Code Online (Sandbox Code Playgroud)
这给我留下了一个领先的空间,我无法解决如何放弃(会很感激那里的帮助).是否有人们使用的标准方法?
它也会将内容放入数组中,这不是特别有用
即如果有多个数字. …
我试图形成一个正则表达式,它只允许在任何地方找到数字、连字符、括号、加号和空格。这里有些例子:
(90990)-121332
(13)920298-232
897897-8098
+988 8892 222
987878798798
4234232211
Run Code Online (Sandbox Code Playgroud) 我想允许用户只输入以下模式:
9720545455454
056565656345
03-43434344
0546-4234234
*9090
+ 97203-0656534
意思是,我不想让用户一起乱搞一切,比如:
+ 954-4343 + 3232*4343 + -
+ -4343- + 5454 + 9323 + 234
我该如何修复这个模式
public static bool IsPhoneNumberCorrect(string phoneNumber)
{
return Regex.IsMatch(phoneNumber, @"^[0-9*+-]+$");
}
Run Code Online (Sandbox Code Playgroud)
为了这个目的?
regex ×7
javascript ×2
php ×2
python ×2
.net ×1
c# ×1
c++ ×1
java ×1
numbers ×1
perl ×1
python-3.x ×1
regex-greedy ×1
ruby ×1
string ×1