多行输入 - 使用正则表达式提取数字
Multine line input - extract numbers using regex
我有一个多行输入字符串,我只想提取 phone 个数字。
现在我写的正则表达式正在获取数字,但也在第 2 行和第 3 行的文本之间获取数字。例如;
这是多行字符串;
123-(455)
Office365@gmail.com
我正在申请以下正则表达式
[(0-9),-]+
现在这个正则表达式正在提取 123-(456)
和 365
。
我不希望我的正则表达式从 office365@gmail.com
获取数字
我看过几个正则表达式,但似乎没有一个适合我的情况。非常感谢您的帮助。谢谢。
这里还有一个例子;
Phone
(209) 123-2345, (345) 123-7890
还有 1 个
电子邮件
xxx87@aol.com, abc87@lycos.com
就业
这里有一些随机文本
这里有一些随机文本,编号为 123。
所以我只想从正则表达式中提取 phone 以下的数字
(209) 123-2345,(345) 123-7890
也许您正在寻找单词边界?您不想匹配 Office365
这样的词中的任何数字。您想要匹配前后有单词边界的数字。
这就是你需要的:
\b[(0-9),-]+(\b|\n)
我必须添加 \n
因为没有它不匹配右括号,因为新行显然不是单词边界。
试试看 here.
鉴于您列出的两个示例,这是可行的:
^[(0-9),-]+$
只需指出允许的字符是行首和行尾之间唯一允许的字符
我有一个多行输入字符串,我只想提取 phone 个数字。 现在我写的正则表达式正在获取数字,但也在第 2 行和第 3 行的文本之间获取数字。例如;
这是多行字符串;
123-(455)
Office365@gmail.com
我正在申请以下正则表达式
[(0-9),-]+
现在这个正则表达式正在提取 123-(456)
和 365
。
我不希望我的正则表达式从 office365@gmail.com
我看过几个正则表达式,但似乎没有一个适合我的情况。非常感谢您的帮助。谢谢。
这里还有一个例子;
Phone (209) 123-2345, (345) 123-7890 还有 1 个 电子邮件 xxx87@aol.com, abc87@lycos.com 就业 这里有一些随机文本 这里有一些随机文本,编号为 123。
所以我只想从正则表达式中提取 phone 以下的数字 (209) 123-2345,(345) 123-7890
也许您正在寻找单词边界?您不想匹配 Office365
这样的词中的任何数字。您想要匹配前后有单词边界的数字。
这就是你需要的:
\b[(0-9),-]+(\b|\n)
我必须添加 \n
因为没有它不匹配右括号,因为新行显然不是单词边界。
试试看 here.
鉴于您列出的两个示例,这是可行的:
^[(0-9),-]+$
只需指出允许的字符是行首和行尾之间唯一允许的字符