• 正则表达式(英語:regular expression,常简写为regex、regexp或RE),又称規律表達式、正規表示、正規表示法、規則運算式、常規表示法,是计算机科学概念,用簡單字串来描述、匹配文中全部符合指定格的字串,現在很多文本编辑器都支援用表达式搜尋、取代符合指定格的字串。...
    41 KB (2,885 words) - 07:58, 13 January 2025
  • c},S是起始符号,P包含下述规则: S -> aS S -> bA A -> ε A -> cA 这个文法描述的语言也可以用正则表达式a*bc* 来表达正则文法描述的语言构成了正则语言类,正则语言类中的语言也可以由有限状态自动机或正则表达式表达。 乔姆斯基谱系 正则语言 正则表达式 有限状态自动机...
    1 KB (163 words) - 11:39, 29 September 2018
  • 通过形式文法来产生(参见乔姆斯基谱系)。 正则表达式是一种很多编程语言和库都支持的语法,这种语法可以用于匹配符合一定条件的字符串,经常用于文本的搜索和过滤。从名称上来说,正则表达式应当是对应于正则语言的,在形式语言领域内所称的正则表达式确实如此。不过,在实际的编程语言中,很多正则表达式已经通过引入复杂的扩展,可以匹配正则表达式...
    8 KB (1,067 words) - 04:35, 28 February 2025
  • 形式上,一个解析表达文法由以下部分组成: 一个有限的非终结符的集合 N 一个有限的终结符的集合 Σ,和 N 没有交集 一个有限的解析规则的集合 P 一个被称作开始表达的解析表达式 eS P 中的每一个解析规则以 A ← e 的形式出现,这里 A 是一个非终结符,e 是一个解析表达式。解析表达式是类似正则表达的层次表达式:...
    16 KB (2,360 words) - 10:43, 28 April 2024
  • 正则语言又称正规语言是满足下述相互等价的一组条件的一类形式语言: 可被确定有限状态自动机识别; 可被非确定有限状态自动机识别; 可被只读图灵机识别; 可用正则表达式描述; 可用正则文法生成。 可用前缀文法生成。 所有的有限语言都是正则的。 字母表{a, b}上包含偶数个a的所有字串构成的语言是正则的。...
    5 KB (729 words) - 01:43, 4 January 2022
  • 正则表达的文本进行搜索,并只输出匹配(或者不匹配)的行或文本。 grep這個應用程式最早由肯·汤普逊寫成。grep原先是ed下的一個應用程式,名稱來自於g/re/p(globally search a regular expression and print,以正则表达式...
    7 KB (1,017 words) - 20:06, 11 June 2023
  • 汉字不是按读音排序的,所以不利于用正则表达式检索。虽然正则表达式检索并未考虑中文的多音字,但是由于中文的多音字数量不多,不少多音字还是同音不同调类型的多音字,所以大多数情况下正则表达式检索是还可以接受的。不过 Unicode 汉字按部首排序,因此在只知道一個字的部首而不知道如何發音的情况下,UTF-8 可用正则表达式检索而 GBK...
    37 KB (5,054 words) - 18:15, 12 February 2025
  • Access中,通配符可用于"LIKE"表达式中,星号(*)匹配零个或多个字符,问号(?)匹配单个字符。在 SAP 中加号(+)匹配一个字符。 在正则表达式中,英文句号(.)匹配单个字符,结合一个星号(.*)匹配任意多个字符。 在针对较长字符串匹配或对大量的字符串进行匹配时应该注意,后匹配(ABC*...
    3 KB (460 words) - 10:34, 11 February 2025
  • 汤普森构造法在计算机科学中是指一个能将正则表达式转化为一个与之等价的非确定有限状态自动机(NFA)的算法。算法得到的NFA可以在编程中用于匹配一个正则表达式,这也是正则表达式引擎实现的基本思路之一。 正则表达式和非确定有限状态自动机是形式语言的两种不同的抽象表达...
    4 KB (587 words) - 15:10, 10 April 2021
  • inputFileName > outputFileName 在某些版本的sed中,表达的前面必须加上-e,以表示后面跟着一个表达式。s表示替换,而g表示全局,这意味着行中的所有匹配项都将被替换。要搜索的正则表达式(即pattern)放在第一个分隔符号(此处为斜杠)之后,而要替换成的字符串跟在第二...
    21 KB (2,702 words) - 03:50, 20 January 2025
  • 一个简单的例子前缀文法可以定义为 Σ = {0, 1} S = {01, 10} P = {0 → 010, 10 → 100} 它描述如下正则表达式所定义的语言 01 ( 01 ) ∗ ∪ 100 ∗ {\displaystyle 01(01)^{*}\cup 100^{*}} 前缀文法生成前缀闭合的语言。 正则文法...
    986 bytes (156 words) - 06:59, 18 April 2013
  • 上人类的手工复制与粘贴,尤其是在某些网站采取技术手段禁止自动化网页抓取的情况下,人工的复制与粘贴就成了唯一的解决方案。 文本搜索与正则表达式:文本搜索并且配合正则表达式可以有效的从页面上提取需要的内容。在基于UNIX的系统上可以使用grep,在其他平台或其他编程语言(例如Perl,Python)中也有相应的命令或语法。...
    3 KB (414 words) - 04:53, 11 November 2023
  • "*h") bash 3.0支持进程内的正则表达式,使用下面的语法: [[ string =~ regex ]] 正则表达式语法同regex(7) man page所描述的一致。正则表达式匹配字符串时上述命令的退出状态为0,不匹配为1。正则表达式中用圆括号括起的子表达式可以访问shell变量BASH_REMATCH,如下:...
    24 KB (3,238 words) - 16:27, 15 January 2025
  • 它的创始人阿尔佛雷德·艾侯、彼得·溫伯格和布萊恩·柯林漢姓氏的首个字母)的最大功能取决于一个人所拥有的知识。AWK提供了极其强大的功能:可以进行正则表达的匹配,样式装入、流控制、数学运算符、进程控制语句甚至于内置的变量和函数。它具备了一个完整的语言所应具有的几乎所有精美特性。实际上AWK的确拥有...
    19 KB (2,627 words) - 22:40, 18 December 2024
  • Kleene 星号被應用在一個集合 V {\displaystyle V} 時,寫法是 V ∗ {\displaystyle V^{*}} 。它被廣泛用於正则表达式。 假定 V 0 = { ϵ } {\displaystyle V_{0}=\{\epsilon \}\,} 递归的定义集合 V i + 1 =...
    3 KB (537 words) - 22:09, 20 December 2021
  • 把上述关于能量⟨E⟩的表达式代入全微分F,得到与 热力学第一定律相似的表达式: d ⟨ E ⟩ = T d S − ⟨ p ⟩ d V {\displaystyle d\langle E\rangle =TdS-\langle p\rangle dV} 。 能量涨落: 正则系综描述中,系统的能量具有不确定性。...
    6 KB (927 words) - 06:45, 13 March 2020
  • 扩展巴科斯范(EBNF) GOLD BNF分析器 GNU bison GNU版本的Yacc 正则表达式 Wirth语法表示法1977提出的对BNF的一个替代者 Yacc分析器生成器(与Lex预处理器一起使用) ANTLR用Java写的另一个分析器生成器 上下文有关文法 形式文法 分析表达式文法 随机上下文无关文法...
    4 KB (502 words) - 07:28, 13 July 2023
  • 来说:词法分析器能够将括号识别为标记,但并不保证括号是否匹配。 针对如下C语言表达式: sum=3+2; 将其标记化后可以得到下表内容: 标记经常使用正则表达式进行定义,像lex一类的词法分析器生成器就支持使用正则表达式。语法分析器读取输入字符流、从中识别出语素、最后生成不同类型的标记。其间一旦发现无效标记,便会报错。...
    4 KB (657 words) - 15:30, 23 July 2023
  • ^keyword$,仅用于封锁域名本身,而不封锁其子域名。GFW 使用的第三种最流行的封锁正则表达式模式是 ^(.*\.)?keyword,这很可能是在正则表达式模式中未包含结束锚点的错误。 与 GFW 有时采用没有结束锚点的正则表达式模式不同,河南防火墙总是在其正则表达式模式中包含结束锚点。这一结果可能是由于封锁列表维护得更仔细...
    13 KB (1,953 words) - 15:46, 22 May 2025
  • 粹的正则表达式是不递归的,这带给了SNOBOL4模式,在计算上的明确优势;当前版本的AWK和Perl的“正则表达式”,实际上是对正则语言意义上的正则表达的扩展(递归表达式于2007年十二月发行的Perl 5.10中仍未出现)。 SNOBOL的设计者之一Ralph...
    15 KB (1,777 words) - 12:47, 6 March 2024
  • JavaScript (category 函数编程语言)
    JavaScript(通常缩写为JS)是一门基于原型和头等函数的多范高级解释型编程语言,它支持面向对象程式設計、指令编程和函数编程。它提供方法来操控文本、数组、日期以及正则表达式等。不支持I/O,比如网络、存储和图形等,但这些都可以由它的宿主环境提供支持。它由Ecma通过ECMAScript实...
    46 KB (4,214 words) - 04:59, 6 May 2025
  • 一些新的编程语言,包括Perl、Python和Ruby,借助正则表达式来帮助文字处理。 这是一些字符串处理算法,在字符串上进行不同的处理: 字符串查找算法 排序算法 正则表达式算法 模式匹配 string —— C++字符串处理 string.h —— C语言字符串处理 空字符串 正则表达式 Barbara H. Partee;...
    11 KB (1,697 words) - 09:28, 13 April 2023
  • 在即时编译(JIT)等场景下,会要求程序在运行时生成代码,而生成代码的时间和空间效率在这种情况下都极其重要。例如说,当有程序在运行时解释正则表达式,并根据该正则表达式生成代码时,通常该程序会先生成非确定有限状态自动机而不是确定有限状态自动机,因为通常前者的创建速度以及占用的内存空间等属性往往会比后者更为优秀。...
    3 KB (412 words) - 15:54, 19 December 2023
  • 在60年代,肯·汤普逊还参与了正则表达的设计,开发了QED(英语:QED (text editor))的相容分時系統版本,并在其中引入正则表达式支持。QED和后来由汤普逊编写的ed编辑器对正则表达的流行做出了重要贡献。之后正则表达式普遍用于Unix的文本处理程序中。现在,几乎所有使用正则表达...
    20 KB (1,966 words) - 02:05, 3 April 2024
  • 元字符(Metacharacter),指SHELL直譯器或正则表达式(regex)引擎等计算机程序中具有特殊意义的字符。 在POSIX擴展正则表达式裡,定义了14个元字符,它们被作为一般的字符使用时,必须要通过「转义」(前面加一个反斜杠「\」)来去除他们本身的特殊意义,这些元字符包括: 开和闭方括号:[和]...
    2 KB (175 words) - 02:55, 6 March 2025
  • 存在很多并不图灵完备的语言,比如由正则表达式表示的正则语言,通过有限状态机进行识别。下推自动机和上下文无关文法更强大,但仍不是图灵完备的,他们一般用于在程序编译的初期阶段生成分析树。其他示例包括嵌入在Direct3D和OpenGL扩展名中的像素着色器语言的某些早期版本。[來源請求] 在如Charity和Epigram之类的总函数...
    10 KB (1,455 words) - 17:37, 8 October 2024
  • ,产生式的右侧只能是空串、一个终结符号或者一个终结符号后随一个非终结符号;如果所有产生的右侧都不含初始符号 S ,规则 S -> ε 也允许出现。这种文法规定的语言可以被有限状态自动机接受,也可以通过正则表达式来获得。正规语言通常用来定义检索模式或者程序设计语言中的词法结构。...
    4 KB (513 words) - 09:48, 29 November 2022
  • 三种运算可用: 整数:加、减、乘、除、求余数 字符串:匹配正则表达式;某些版本上还可以查找一组字符("index")、子字符串("substr"),求字符串长度("length") 两者皆可:比较(如:相等、不等、小于) 下面是一个涉及布尔表达的(不符合POSIX标准)例子: expr length...
    3 KB (341 words) - 08:27, 17 January 2024
  • 模式匹配 (category 函数编程)
    (formal language theory))式模式,它产生强力的条件编程构造。模式匹配有时包括对守卫子句的支持。 字符序列也就是字符串,经常使用正则表达式来描述,并使用像回溯这样的技术来进行匹配。解析算法经常依赖模式匹配来将字符串变换成语法树。 具有模式匹配构造的早期编程语言包括:COMIT(19...
    19 KB (2,177 words) - 10:07, 30 March 2025
  • 正则表达式。例如,一个文本编辑器可以把运行时提供的正则表达式编译成机器码,从而更快地进行匹配——这不能提前完成,因为pattern只在运行时提供。一些现代的运行时环境依赖JIT编译来实现高速代码执行,包括大多数Java实现,以及微软的.NET框架。类似地,许多正则表达式库都具有对正则表达式...
    24 KB (3,384 words) - 10:48, 9 January 2025
  • Scintilla (category 自由發展元件與函庫)
    代码断点等行标记。可以添加其他功能,例如語法摺疊和自动完成。基本的正则表达式搜索实现不成熟,但如果使用C++11编译,Scintilla可以支持运行时的正则表达式引擎。也可以通过直接缓冲区来替换或避免使用Scintilla的正则表达式库。 目前,Scintilla对从右到左的语言提供了实验性支持。...
    7 KB (502 words) - 15:20, 30 July 2024