Regular Expressions 101

Save & Share

Flavor

  • PCRE2 (PHP >=7.3)
  • PCRE (PHP <7.3)
  • ECMAScript (JavaScript)
  • Python
  • Golang
  • Java 8
  • .NET 7.0 (C#)
  • Rust
  • Regex Flavor Guide

Function

  • Match
  • Substitution
  • List
  • Unit Tests

Tools

Sponsors
There are currently no sponsors. Become a sponsor today!
An explanation of your regex will be automatically generated as you type.
Detailed match information will be displayed here automatically.
  • All Tokens
  • Common Tokens
  • General Tokens
  • Anchors
  • Meta Sequences
  • Quantifiers
  • Group Constructs
  • Character Classes
  • Flags/Modifiers
  • Substitution
  • A single character of: a, b or c
    [abc]
  • A character except: a, b or c
    [^abc]
  • A character in the range: a-z
    [a-z]
  • A character not in the range: a-z
    [^a-z]
  • A character in the range: a-z or A-Z
    [a-zA-Z]
  • Any single character
    .
  • Alternate - match either a or b
    a|b
  • Any whitespace character
    \s
  • Any non-whitespace character
    \S
  • Any digit
    \d
  • Any non-digit
    \D
  • Any word character
    \w
  • Any non-word character
    \W
  • Match everything enclosed
    (?:...)
  • Capture everything enclosed
    (...)
  • Zero or one of a
    a?
  • Zero or more of a
    a*
  • One or more of a
    a+
  • Exactly 3 of a
    a{3}
  • 3 or more of a
    a{3,}
  • Between 3 and 6 of a
    a{3,6}
  • Start of string
    ^
  • End of string
    $
  • A word boundary
    \b
  • Non-word boundary
    \B

Regular Expression
No Match

r"
"
g

Test String

Code Generator

Generated Code

# coding=utf8 # the above tag defines encoding for this document and is for Python 2.x compatibility import re regex = r"[\d]+\.([\s\S]*?)\n+A.([\s\S]*?)\n+B.([\s\S]*?)\n+C.([\s\S]*?)\n+D.([\s\S]*?)(?=\n)" test_str = ("\n" "1.关于净利润的分配,下列说法正确的有()。\n" "A.法定公积金的提取比例为当年税后利润(弥补亏损前)的10%\n" "B.当年法定公积金的累积额已达注册资本的50%时,可以不再提取\n" "C.企业用法定公积金转增资本后,法定公积金的余额不得低于转增前公司注册资本的25%\n" "D.连续五年未弥补的亏损只能用税后利润弥补\n" "2.下列各项中,属于销售预测定量分析方法的有()。\n" "A.因果预测分析法\n" "B.算术平均法\n" "C.产品寿命周期分析法\n" "D.指数平滑法\n" "3.下列选项中,属于销售预测的定性分析法中的专家判断法的有()。\n" "A.个别专家意见汇集法\n" "B.专家小组法\n" "C.营销员判断法\n" "D.德尔菲法\n" "4.某公司在使用指数平滑法预测销售量时,采用了较大的平滑指数,可能的情形有()。\n" "A.销售量波动较大\n" "B.销售量波动较小\n" "C.进行短期预测\n" "D.进行长期预测\n" "5.关于销售预测的趋势预测分析法的表述中,正确的有()\n" "A.算术平均法适用于每期销售量波动不大的产品的销售预测\n" "B.加权平均法中权数的选取应遵循“远大近小”的原则\n" "C.由于移动平均法只选用了n期数据中的最后m期作为计算依据,代表性较差\n" "D.指数平滑法实质上是一种加权平均法,平滑指数的选择具有一定的主观随意性\n" "6.下列各项中,可以作为企业产品定价目标的有()。\n" "A.保持或提高市场占有率\n" "B.应对和避免竞争\n" "C.实现利润最大化\n" "D.树立企业形象\n" "7.产品定价时可以以成本为基础,下列选项中,可以作为成本基础的有()。\n" "A.变动成本\n" "B.制造成本\n" "C.全部成本费用\n" "D.固定成本\n" "8.关于需求价格弹性系数定价法的表述中,正确的有()。\n" "A.需求价格弹性系数是某种产品的需求量随其价格的升降而变动的程度\n" "B.需求价格弹性系数一般为负数\n" "C.这是基于微分极值原理的定价方法\n" "D.需求价格弹性系数=$({\\Delta P}/P_0)/({\\Delta Q}/Q_0)$\n" "9.关于寿命周期定价策略的表述中,正确的有()。\n" "A.推广期应采用低价促销策略\n" "B.成长期应采用高价促销\n" "C.成熟期应采用中等价格\n" "D.衰退期应降价促销或维持现价并辅之以折扣\n" "10.纳税筹划是指在纳税行为发生之前,在不违反税法及相关法律法规的前提下,对纳税主体的投资、筹资、营运及分配行为等涉税事项作出事先安排,其具体的外在表现有()。\n" "A.降低税负\n" "B.延期纳税\n" "C.合理避税\n" "D.防范风险\n" "11.在税法许可的范围内,下列纳税筹划方法中,能够实现递延纳税的途径有()。\n" "A.固定资产折旧方法的选择\n" "B.费用在母子公司之间合理分劈法\n" "C.利用税收扣除政策\n" "D.存货计价方法的选择\n" "12.纳税筹划可以利用的税收优惠政策包括()。\n" "A.递延纳税\n" "B.减税政策\n" "C.免税政策\n" "D.退税政策\n" "13.下列关于股利理论的观点表述中,正确的有()。\n" "A.“手中鸟”理论认为厌恶风险的投资者会偏好确定的股利收益,而不愿意将收益留存在公司内部\n" "B.信号传递理论认为在信息不对称的情况下,公司可以通过高股利政策向市场传递良好信息\n" "C.所得税差异理论认为股利收益比资本利得收益更有助于实现收益最大化目标\n" "D.代理理论认为最优的股利政策应当使代理成本和外部融资成本之和最小\n" "14.根据股利无关论,公司价值的影响因素有()。\n" "A.公司获利能力\n" "B.投资风险组合\n" "C.利润分配政策\n" "D.资本市场效率\n" "15.在股利相关理论中,主张要采用高股利政策的理论有()。\n" "A.“手中鸟”理论\n" "B.信号传递理论\n" "C.所得税差异理论\n" "D.代理理论\n" "16.下列各项中,属于剩余股利政策优点的有()。\n" "A.保持目标资本结构\n" "B.降低再投资资本成本\n" "C.有利于树立公司良好的形象\n" "D.有助于投资者安排收入与支出\n" "17.下列各项中,不属于固定或稳定增长的股利政策优点的有()。\n" "A.有利于稳定股价\n" "B.有利于树立公司的良好形象\n" "C.使股利与公司盈余密切挂钩\n" "D.有利于优化公司资本结构\n" "18.在下列公司中,通常适合采用固定股利政策的有()。\n" "A.正处于成长期的公司\n" "B.经营相对稳定的公司\n" "C.财务风险较高的公司\n" "D.投资机会较多的公司\n" "19.下列各项股利政策中,股利水平受当期盈利水平影响的有()。\n" "A.固定股利政策\n" "B.稳定增长股利政策\n" "C.固定股利支付率政策\n" "D.低正常股利加额外股利政策\n" "20.按照资本保全约束的要求,企业发放股利所需资金的来源包括()。\n" "A.扣除公积金后的当期净利润\n" "B.以前累积的未分配利润\n" "C.资本公积\n" "D.股本\n" "21.下列情形中,不适于采用高股利支付水平的有()。\n" "A.控股股东担心控制权稀释\n" "B.高股利收入的股东有避税需求\n" "C.债务契约中有股利政策的限制条款\n" "D.目前正处于通货膨胀时期\n" "22.某公司发行在外的普通股股数为500万股,每股面值为1元,每股市价为10元,若按照每10股送2股的政策发放股票股利并按市价计算,则下列关于发放股票股利的说法中,正确的有()。\n" "A.股数增加100万股\n" "B.资本公积增加900万元\n" "C.股本总额增加1000万元\n" "D.未分配利润减少1000万元\n" "23.发放股票股利与发放现金股利相比,其优点包括()。\n" "A.有节税优势\n" "B.改善公司资本结构\n" "C.提高每股收益\n" "D.避免公司现金流出\n" "24.在盈利总额和市盈率不变的情况下,上市公司发放股票股利可能导致的结果有()。\n" "A.公司股东权益内部结构发生变化\n" "B.每位股东所持股票的市场价值下降\n" "C.公司每股收益下降\n" "D.公司股本总额发生变化\n" "25.在我国,下列关于除息日的表述,正确的有()。\n" "A.除息日是指股利所有权与股票本身分离的日期\n" "B.除息日当日,新购人股票的投资者不能分享本次发放的股利\n" "C.在除息日之前的交易日,新购入股票的投资者能分享本次发放的股利\n" "D.从除息日之后,新购入股票的投资者不能分享本次发放的股利\n" "26.甲公司盈利稳定,有多余现金,拟进行股票回购并注销。在其他条件不变的情况下,股票回购产生的影响有()。\n" "A.每股面值下降\n" "B.每股收益提高\n" "C.资本结构变化\n" "D.自由现金流减少\n" "27.现金股利与股票回购产生的共同影响有()。\n" "A.每股面值下降\n" "B.每股收益上升\n" "C.财务杠杆提高\n" "D.自由现金流减少\n" "28.关于股票分割和股票股利,下列说法错误的有()。\n" "A.均会改变股票每股面值\n" "B.均会增加股份数量\n" "C.均会增加股东权益总额\n" "D.均会改变股东权益的内部结构\n" "29.下列各项中,属于公司股票回购的动机有()。\n" "A.提高财务杠杆水平\n" "B.现金股利的替代\n" "C.巩固控股股东的控制权\n" "D.传递公司股价被低估的信息\n" "30.下列关于股权激励模式的适用性的表述中,正确的有()\n" "A.股票期权模式适合初始资本投人较少、资本增值较快的公司\n" "B.限制性股票模式适合处于成熟期的企业\n" "C.股票增值权模式适合经营风险较大的企业\n" "D.业绩股票激励模式适合业绩稳定型的上市公司\n") matches = re.finditer(regex, test_str) for matchNum, match in enumerate(matches, start=1): print ("Match {matchNum} was found at {start}-{end}: {match}".format(matchNum = matchNum, start = match.start(), end = match.end(), match = match.group())) for groupNum in range(0, len(match.groups())): groupNum = groupNum + 1 print ("Group {groupNum} found at {start}-{end}: {group}".format(groupNum = groupNum, start = match.start(groupNum), end = match.end(groupNum), group = match.group(groupNum))) # Note: for Python 2.7 compatibility, use ur"" to prefix the regex and u"" to prefix the test string and substitution.

Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Python, please visit: https://docs.python.org/3/library/re.html