首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

试着编写一个只匹配数字,空格,括号,+和 - 的正则表达式

正则表达式是一种用于匹配字符串中特定模式的工具。在这个问题中,我们需要编写一个正则表达式,用于匹配数字、空格、括号、加号和减号。以下是一个可能的正则表达式:

代码语言:txt
复制
^[\d\s\(\)\+\-]+$

这个正则表达式的解释如下:

  • ^:表示字符串的开始。
  • [\d\s\(\)\+\-]:表示一个字符集,包含数字、空格、左右括号、加号和减号。
  • +:表示前面的字符集可以出现一次或多次。
  • $:表示字符串的结束。

这个正则表达式可以匹配任何包含数字、空格、括号、加号和减号的字符串。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何批量添加中文和英文数字之间的空格?用正则表达式吧

时耗方面,基础功仅需50多小时,加上很多实战,包括初步运用pandas和爬虫处理业务需求,加在一起也才200多小时而已。 其实,中文和数字、英文之间有一个空格会更美观。...但日积月累,这也将是一项不菲的时间开销。 要么,可以试试用正则匹配批量处理。——正是我这篇笔记想要分享的。你无须懂编程,也可使用特定工具快速完成批量添加中文和英文数字之间的空格。...2、正则表达式省掉千次万次机械操作 我的电脑中可以没有微软或金山的任何办公软件,但不可以没有 vscode 和 jupyter lab。vscode 不仅可以用于写代码,还可用于写文章。...想要搜索任意中文和数字或英文字母的组合,需要用到以下正则表达式,并启动正则匹配搜索模式: 中文在左,数字或英文字母在右 ([\u4e00-\u9fa5]+)([\da-zA-Z]+) 数字或英文字母在左...回到最初的需求,想要在中文紧挨着英文数字之间增加空格,分别处理中文在左、中文在右两个情况即可完成。是不是很简单呢? 3、背后的原理?10 分钟系统理解正则表达式 这背后的知识点,就是正则表达式。

2.4K20

2021-07-03:给定一个只由左括号和右括号的字符串,返回最长的有效括号子串的长度。

2021-07-03:给定一个只由左括号和右括号的字符串,返回最长的有效括号子串的长度。 福大大 答案2021-07-03: 1.正向反向。时间复杂度:O(N)。空间复杂度:O(1)。 用栈的思想。...只有当left==right的时候,才统计长度。这个很难想到。 先正向求出长度,然后反向求出长度。这个很难想到。 2.动态规划。时间复杂度:O(N)。空间复杂度:O(N)。 代码用golang编写。...getMax(a int, b int) int { if a > b { return a } else { return b } } // s只由...(和)组成 // 求最长有效括号子串长度 func longestValidParentheses2(s string) int { if len(s) < 2 { return...pre = i - dp[i-1] - 1 // 与str[i]配对的左括号的位置 pre if pre >= 0 && s[pre] == '(' {

70940
  • 2021-07-03:给定一个只由左括号和右括号的字符串,返回最长的有效括号子串的长度。

    2021-07-03:给定一个只由左括号和右括号的字符串,返回最长的有效括号子串的长度。 福大大 答案2021-07-03: 1.正向反向。时间复杂度:O(N)。空间复杂度:O(1)。 用栈的思想。...只有当left==right的时候,才统计长度。这个很难想到。 先正向求出长度,然后反向求出长度。这个很难想到。 2.动态规划。时间复杂度:O(N)。空间复杂度:O(N)。 代码用golang编写。...getMax(a int, b int) int { if a > b { return a } else { return b } } // s只由...(和)组成 // 求最长有效括号子串长度 func longestValidParentheses2(s string) int { if len(s) < 2 { return...pre = i - dp[i-1] - 1 // 与str[i]配对的左括号的位置 pre if pre >= 0 && s[pre] == '(' {

    61010

    sed & awk 第二版学习(二)—— 正则表达式语法

    .* 该表达式使用元字符(metacharacter)(也叫通配符)和空格,匹配一个具有一个或多个前导空格的行。...二、成行的字符 表达式中的两个基本元素是: 以一个字面值或变量表示的值。 一个操作符。 在正则表达式中,除下表中的元字符外,任意字符都被解释为只匹配它本身的字面值。...编写正则表达式 正则表达式允许编写简单或复杂的模式描述,而使编写正则表达式困难的因素是应用的复杂性:模式出现在各种不同的情况和上下文中。复杂性是语言本身所固有的。...编写正则表达式的过程涉及 3 个步骤: 知道要匹配的内容以及它如何出现在文本中。 编写一个模式来描述要匹配的内容。 测试模式来查看它匹配的内容。...匹配任意非数字字符: [^0-9] 匹配非小写元音: [^aeiou] 匹配字符串“.DS”其后依次跟随一个空格、一个双引号、一个除了字符 1 以外的单个字符和一个双引号

    7610

    Python 自动化指南(繁琐工作自动化)第二版:七、使用正则表达式的模式匹配

    'Batmobile',而mo.group(1)只返回第一个括号组'mobile'内的部分匹配文本。...字符类有利于缩短正则表达式。字符类[0-5]将只匹配数字0到5;这比敲(0|1|2|3|4|5)短多了。注意,虽然\d匹配数字,而\w匹配数字、字母和下划线,但是没有只匹配字母的速记字符类。....匹配除换行符以外的任何字符。 \d、\w和\s分别匹配一个数字、单词或空格字符。 \D、\W和\S分别匹配除数字、单词或空格字符之外的任何内容。...如何编写一个正则表达式来匹配每三位数用逗号分隔的数字?...强密码检测 编写一个使用正则表达式的函数,以确保传递给它的密码字符串是强的。强密码被定义为长度至少为八个字符,包含大写和小写字符,并且至少有一位数字。

    6.6K40

    正则表达式30分钟入门教程

    和通配符类似,正则表达式也是用来进行文本匹配的工具,只不过比起通配符,它能更精确地描述你的需求——当然,代价就是更复杂——比如你可以编写一个正则表达式,用来查找所有以0开头,后面跟着2-3个数字,然后是一个连字号...虽然通常英文的单词是由空格,标点符号或者换行来分隔的,但是\b并不匹配这些单词分隔字符中的任何一个,它只匹配一个位置。 假如你要找的是hi后面不远处跟着一个Lucy,你应该用\bhi\b....,*,还有\d.正则表达式里还有更多的元字符,比如\s匹配任意的空白符,包括空格,制表符(Tab),换行符,中文全角空格等。\w匹配字母或数字或下划线或汉字等。...元字符^(和数字6在同一个键位上的符号)和$都匹配一个位置,这和\b有点类似。...,然后是一个0,后面跟着2个数字(\d{2}),然后是)或-或空格中的一个,它出现1次或不出现(?),最后是8个数字(\d{8})。

    84800

    Qt正则表达式类QRegExp(附检验小程序)

    (dot) 匹配任何字符(包括换行符) \d 匹配一个数字 \D 匹配一个非数字。 \s 匹配一个空白字符 \S 匹配非空格字符。...最简单的一个正则表达式就是字符,例如: a 匹配字符a b 匹配字符b 9 匹配数字9 表达式后面可以加量词,默认情况下,表达式会自动由{1,1}进行量化,即它应该只出现一次。...如果您想匹配文字将匹配以数字结尾(可选)后跟空格的字符串。如果您想匹配文字,则必须通过书写将其转义\$。 \b 单词边界。...但是请注意,该断言实际上并不与任何空格匹配,因此如果我们编写(\ bOK \ b)并且具有匹配项,即使该字符串为“ It’s OK now”,它也将仅包含“ OK ”。 \B 非单词边界。...除此之外,还有其他一些其他字符可以和表达式组合,方括号表示匹配方括号中包含的任何字符。上述字符集缩写可以出现在方括号中的字符集中。除字符集缩写和以下两个例外外,字符在方括号中没有特殊含义。

    6.8K21

    正则表达式30分钟入门教程

    在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。...和通配符类似,正则表达式也是用来进行文本匹配的工具,只不过比起通配符,它能更精确地描述你的需求——当然,代价就是更复杂——比如你可以编写一个正则表达式,用来查找所有以 0开头,后面跟着 2-3个数字,然后是一个连字号...虽然通常英文的单词是由空格,标点符号或者换行来分隔的,但是 \b并不匹配这些单词分隔字符中的任何一个,它只匹配一个位置。 假如你要找的是 hi后面不远处跟着一个 Lucy,你应该用 \bhi\b....因为使用了 ^和 $,所以输入的整个字符串都要用来和 \d{5,12}来匹配,也就是说整个输入必须是 5到 12个数字,因此如果输入的QQ号能匹配这个正则表达式的话,那就符合要求了。...和忽略大小写的选项类似,有些正则表达式处理工具还有一个处理多行的选项。如果选中了这个选项, ^和 $的意义就变成了匹配行的开始处和结束处。

    97030

    正则表达式30分钟入门教程--deerchao

    和通配符类似,正则表达式也是用来进行文本匹配的工具,只不过比起通配符,它能更精确地描述你的需求——当然,代价就是更复杂——比如你可以编写一个正则表达式,用来查找所有以0开头,后面跟着2-3个数字,然后是一个连字号...虽然通常英文的单词是由空格,标点符号或者换行来分隔的,但是\b并不匹配这些单词分隔字符中的任何一个,它只匹配一个位置。...,*,还有\d.正则表达式里还有更多的元字符,比如\s匹配任意的空白符,包括空格,制表符(Tab),换行符,中文全角空格等。\w匹配字母或数字或下划线或汉字等。...元字符^(和数字6在同一个键位上的符号)和$都匹配一个位置,这和\b有点类似。^匹配你要用来查找的字符串的开头,$匹配结尾。...因为使用了^和$,所以输入的整个字符串都要用来和\d{5,12}来匹配,也就是说整个输入必须是5到12个数字,因此如果输入的QQ号能匹配这个正则表达式的话,那就符合要求了。

    2K40

    正则表达式匹配字符串_正则不包含某个字符串

    对于高级的使用,你可能需要更关注匹配引擎是如何执行给定的 RE,并通过一定的方式来编写 RE,以便产生一个可以运行得更快的字节码。...由于正则表达式常用于操作字符串的,因此我们从最常见的任务下手:字符匹配。 字符匹配 大多数字母和字符会匹配它们自身。举个例子,正则表达式 FishC 将完全匹配字符串 “FishC”。...后者使用范围来表示与前者相同的字符集合。 如果你想只匹配小写字母,你的 RE 可以写成 [a-z]。 需要注意的一点是:元字符在方括号中不会触发“特殊功能”,在字符类中,它们只匹配自身。...,但在方括号中它不表示特殊含义,它只匹配 ' ′是一个元字符,但在方括号中它不表示特殊含义,它只匹配′’ 字符本身。...另外还有一个超容易出错的是写成 {m, n},看着挺美,但注意,正则表达式里边不能随意添加空格,不然会改变原来的含义。 其实 *、+ 和 ? 都可以使用 {m,n} 来代替。

    1.2K30

    正则表达式

    因此,它应用于整个范围表达式,在本例中,只指定从 0 到 9 的数字(包括 0 和 9)。 这里不使用 + 限定符,因为在第二个位置或后面的位置不一定需要有一个数字。也不使用?...您需要至少匹配 Chapter 和空格字符后面的一个数字。 如果您知道章节编号被限制为只有 99 章,可以使用下面的表达式来至少指定一位但至多两位数字。...它即出现在行首又出现在同一行的结尾。下面的表达式能确保指定的匹配只匹配章节而不匹配交叉引用。通过创建只匹配一行文本的开始和结尾的正则表达式,就可做到这一点。...正则表达式的第二部分是对以前捕获的子匹配项的引用,即,单词的第二个匹配项正好由括号表达式匹配。\1 指定第一个子匹配项。字边界元字符确保只检测整个单词。...最后,第四个括号子表达式捕获 Web 地址指定的路径和/或页信息。该子表达式能匹配不包括 # 或空格字符的任何字符序列。

    90010

    C#中的正则匹配和文本处理

    “ba{2}d"正则表达式只能匹配字符串"baad”。 通过在大括号内提供两个数字可以说明匹配的最大值和最小值: {n,m}, 这里的n表示匹配的最小值而m则表示最大值....在使用正则表达式的时候经常希望检查包含字符组的模式. 大家可以编写用一组闭合的方括号([ ])包裹着的正则表达式. 在方括号内的字符整体被作为正则表达式的一个字符类....在下面这段程序中, 正则表达式只与第一个字符为字母"h"的字符串相匹配, 而忽略掉字符串中其他位置上的"h"....还有一个断言会导致正则表达式只在行的末尾找到匹配. 这个断言就是美元符号($)。...如果只需要匹配年龄而不要生日, 就可以把正则表达式作为一个匿名组来书写 : (\s\d{2}\s) 通过编写这种方式的正则表达式, 代表的匹配规则是, 寻找首位均是空格, 并且中间是两位数字的子串 :

    2.6K41

    笔记·正则表达式和re库

    正则表达式的第二部分是对以前捕获的子匹配项的引用,即,单词的第二个匹配项正好由括号表达式匹配。\1 指定第一个子匹配项。字边界元字符确保只检测整个单词。...-] //匹配所有的数字,句号和减号 [ \f\r\t\n] //匹配所有的白字符 同样的,这些也只表示一个字符,这是一个非常重要的。...模式”.”可以匹配任何字符串,除了空串和只包括一个”新行”的字符串。 确定重复出现 到现在为止,你已经知道如何去匹配一个字母或数字,但更多的情况下,可能要匹配一个单词或一组数字。...括在中括号表达式中的字符只匹配处于正则表达式中该位置的单个字符。...中括号表达式指定的只是匹配紧跟在单词 Chapter 和空格后面的单个字符位置的字符集。这是第九个字符位置。

    1K30

    正则表达式

    phone" >>> match = re.search("phone",text) >>> match 这里只返回了第一个符合条件的匹配项...>>> match.group() 'phone' 复杂模式 前面用简单的正则表达式演示了 re 中有关函数的基本使用,下面研究如何编写复杂的正则表达式。...c \D 一个非数字 \D\D\D ABC \W 非字母数字 \W\W\W\W\W *-+=) \S 非空格 \S\S\S\S Yoyo 不用特别记忆,用到时来查找即可。...分组 继续以上面的电话号码为例,是由三个数字一组组成的,如果要每三个数字作为一个单位来搜索,则需要在正则表达式中分组,分组方法就是使用 () 实现,例如: >>> phone = re.search(r...# 一个或多个非空格之后是 'at' >>> re.findall(r'\S+at',"The bat went splat") ['bat', 'splat'] 起止符 在正则表达式中,使用 ^ 在字符串的开头查找某字符

    57340

    正则表达式——Java程序员懂你

    : 一个或者没有 +: 一个或者多个 \d: 数字 (): 用括号分组,整体相当于一个单独的字符 |: 代表或者,一般与括号分组一起使用 下面看具体代码, 测试方案 这里的测试方案是采用的之前io中文件名过滤器的那段代码...String regExp = "\\d";// 一位数的正整数字符【只匹配一个】 然后下面使用这个正则的方式为: for (String s : data) { if (Pattern.matches...这段代码的输出结果为: 09:21:02[testRegExp]: 8 开始测试 上面的测试方案中我们写入的正则表达式是“\\d”,只匹配一位正整数字符。下面开始正式热身测试。...[^\\w],同样的, \d: 匹配数字[0-9] \D: 非数字[^0-9] []: 方括号,表示其中的任意字符,相当于括号加|的分组 \s: 空白符(空格、tab、换行、换页或回车) \S: 非空白符...方括号如果不加?,*或者+,效果与无符号的单个字符一样,代表仅匹配一个字符。 [abc[hij]]: 同样是匹配单个字符,范围是abchij,并集。

    94550

    正则表达式30分钟入门教程 转

    虽然通常英文的单词是由空格,标点符号或者换行来分隔的,但是\b并不匹配这些单词分隔字符中的任何一个,它只匹配一个位置。...元字符 现在你已经知道几个很有用的元字符了,如\b,.,*,还有\d.正则表达式里还有更多的元字符,比如\s匹配任意的空白符,包括空格,制表符(Tab),换行符,中文全角空格等。...元字符^(和数字6在同一个键位上的符号)和$都匹配一个位置,这和\b有点类似。^匹配你要用来查找的字符串的开头,$匹配结尾。...因为使用了^和$,所以输入的整个字符串都要用来和\d{5,12}来匹配,也就是说整个输入必须是5到12个数字,因此如果输入的QQ号能匹配这个正则表达式的话,那就符合要求了。...要包含注释的话,最好是启用“忽略模式里的空白符”选项,这样在编写表达式时能任意的添加空格,Tab,换行,而实际使用时这些都将被忽略。启用这个选项后,在#后面到这一行结束的所有文本都将被当成注释忽略掉。

    91120

    1、正则表达式

    返回值:如果匹配成功,exec() 方法返回一个数组,并更新正则表达式对象的属性。返回的数组将完全匹配成功的文本作为第一项,将正则括号里匹配成功的作为数组填充到后面。...\D //匹配所有0-9以外的字符,相当于[^0-9]。 \w //匹配任意的字母、数字和下划线,相当于[A-Za-z0-9_]。...\W //除所有字母、数字和下划线以外的字符,相当于[^A-Za-z0-9_]。 \s //匹配空格(包括换行符、制表符、空格符等),相等于[ \t\r\n\v\f]。...正则表达式的括号表示分组匹配,括号中的模式可以用来匹配分组的内容。.../fred+/.test('fredd') // true /(fred)+/.test('fredfred') // true 上面代码中,第一个模式没有括号,结果+只表示重复字母d,第二个模式有括号

    52720

    正则表达式入门

    返回值:如果匹配成功,exec() 方法返回一个数组,并更新正则表达式对象的属性。返回的数组将完全匹配成功的文本作为第一项,将正则括号里匹配成功的作为数组填充到后面。...\D //匹配所有0-9以外的字符,相当于[^0-9]。 \w //匹配任意的字母、数字和下划线,相当于[A-Za-z0-9_]。...\W //除所有字母、数字和下划线以外的字符,相当于[^A-Za-z0-9_]。 \s //匹配空格(包括换行符、制表符、空格符等),相等于[ \t\r\n\v\f]。...正则表达式的括号表示分组匹配,括号中的模式可以用来匹配分组的内容。.../fred+/.test('fredd') // true /(fred)+/.test('fredfred') // true 上面代码中,第一个模式没有括号,结果+只表示重复字母d,第二个模式有括号

    89420

    你应该学习正则表达式

    ——匹配任何只包含数字的行。...我们可以用\d替换[0-9],结果相同(匹配所有数字)。 这个表达式(和一般的正则表达式)的伟大之处在于它无需太多修改,就可以用到任何编程语言中。...1 – 年份匹配 我们来看看另外一个简单的例子——匹配二十或二十一世纪中任何有效的一年。 ? 我们使用\b而不是^和$来开始和结束这个正则表达式。\b表示单词边界,或两个单词之间的空格。...^——输入开始 [^@\s]——匹配除@和空格\s之外的任何字符 +——1+次数 @——匹配’@'符号 [^@\s]+——匹配除@和空格之外的任何字符,1+次数 \.——匹配’.'字符。...一个格式正确的Regex替换可以将繁琐的需要半小时忙碌的工作变成一个漂亮的Regex重构魔法。 不要编写脚本来执行这些操作,试着在你选择的文本编辑器中去做。

    5.3K20
    领券