`
friendsys
  • 浏览: 337900 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

Regular Expression 正则表达式使用(多语言)

阅读更多
下面为在Editplus中使用内置的正则表达式的帮助
Regular expression is a search string that contains normal text plus special characters which indicate extended searching options. Regular expression allows more sophisticated search and replace.

For example, you can find any digit by using regular expression "[0-9]". Similarly you can find any matching character that is NOT digit by using regular expression "[^0-9]".

EditPlus supports following regular expressions in Find, Replace and Find in Files command.


Expression Description
\t Tab character.
\n New line.
. Matches any character.
| Either expression on its left and right side matches the target string. For example, "a|b" matches "a" and "b".
[] Any of the enclosed characters may match the target character. For example, "[ab]" matches "a" and "b". "[0-9]" matches any digit.
[^] None of the enclosed characters may match the target character. For example, "[^ab]" matches all character EXCEPT "a" and "b". "[^0-9]" matches any non-digit character.
* Character to the left of asterisk in the expression should match 0 or more times. For example "be*" matches "b", "be" and "bee".
+ Character to the left of plus sign in the expression should match 1 or more times. For example "be+" matches "be" and "bee" but not "b".
? Character to the left of question mark in the expression should match 0 or 1 time. For example "be?" matches "b" and "be" but not "bee".
^ Expression to the right of ^ matches only when it is at the beginning of line. For example "^A" matches an "A" that is only at the beginning of line.
$ Expression to the left of $ matches only when it is at the end of line. For example "e$" matches an "e" that is only at the end of line.
() Affects evaluation order of expression and also used for tagged expression.
\ Escape character. If you want to use character "\" itself, you should use "\\".

The tagged expression is enclosed by (). Tagged expressions can be referenced by \0, \1, \2, \3, etc. \0 indicates a tagged expression representing the entire substring that was matched. \1 indicates the first tagged expression, \2 is the second, etc. See following examples.

Original    Search     Replace     Result
abc     (ab)(c)    \0-\1-\2    abc-ab-c
abc     a(b)(c)    \0-\1-\2    abc-b-c
abc     (a)b(c)    \0-\1-\2    abc-a-c




比较常见的正则表达式匹配元素

^       行首,在[^]表示非指定字符集
$       行尾
\b \B   表示单词的边界
[]      表示从中选择一个字符
\d      任意数字
\s      空格
\w      词的字符类,如果a-zA-Z 0-9 _等
\D \S \W以上的取反结果
*       一般情况下表示0次或多次出现,也可以用于选择匹配模式的贪婪和懒惰匹配
+       表示出现一次或者多次,必须存在
?       表示出现一次或不出现,同样可以用于匹配贪婪与懒惰模式
{m,n}   表示允许出现最小m次,最多n次
{m,}    表示最小m,无上限
{m}     表示必须出现m次
|       表示从两个匹配冲选择一个,注意该匹配的优先级很低
()      简单的使用,就是用于匹配结果进行分组提取,以及配合*?+等进行多条件组合匹配
i m g   常用于在匹配正则表示式时,进行多行,忽略大小写的设置

高级使用  (?...) 等

(?:reg) 表示进行分组,当不会包含在匹配的捕获分组内,成为非捕获分组
(?=reg) 具体用途未详
(?!reg) 表示该处不包含reg所匹配的内容
(?>reg) 用于阻止回朔.可以提高性能,具体用途未详


常见语言中使用正则的方法

JavaScript:

主要为RegExp对象的test,exec以及字符串中的match,split,search,replace方法

声明一个正则表达式的方式有
1; var patten=/\d+/
2: var patten = new RegExp(\d+)

test 方法主要用于判断是否指定字符串是否符合正则条件,根据条件,默认只要字符串中部分完全匹配正则即可,然后返回布尔值

alert(patten.test('23123'))  -----true

exec 方法用于进行字符串匹配,然后返回匹配分组后的数组,如果没有匹配结果,将会返回null

alert(patten.test('23123'))  ------23123,注意为数组 alert的时候会自动转换成字符串

match方法,来自字符串对象,效果如同exec方法一样
alert('23123'.match(d))

其他字符串方法不做介绍


Java:

主要使用java.util.regex.Pattern和java.util.regex.Matcher;这两个类,同样也可以在字符串方法使用正则表达式

构建一个Pattern,注意可以使用参数重载,进行模式的设置,如换行等,使用Pattern中的常量

常见的使用方法

Pattern ptn = Pattern.compile("\\d");
String str = "213123";
Matcher mather = ptn.matcher(str);
while(mather.find()){
   System.out.println(mather.group());
}

其中group方法,可以通过分组取出不同的值,通过传入参数index实现


Python与Groovy待补充 




















分享到:
评论

相关推荐

    正则表达式简明教程及正则表达式语言元素

    准确地说,正则表达式(regular expression)是一个用于匹配样式(patterns)的工具,已经应用于很多程序语言中。作为一个处理字符串的极其强大的方法工具,正则表达式本身几乎可以被视为是一种完整的语言。要掌握...

    正则表达式经典实例.pdf

    正则表达式(英语:Regular Expression、regex或regexp,缩写为RE),也译为正规表示法、常规表示法,在计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多文本编辑器或...

    Python 正则表达式入门(初级篇)

    正则表达式,又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一...

    正则表达式经典实例

    本书讲解了基于8种常用的编程语言使用正则表达式的经典实例。书中提供了上百种可以在实战中使用的实例,以帮助读者使用正则表达式来处理数据和文本。对于如何使用正则表达式来解决性能不佳、误报、漏报等常见的错误...

    正则表达式工具 v3.1

    正则表达式(英语:Regular Expression、regex或regexp,缩写为RE),也译为正规表示法、常规表示法,在计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多文本编辑器或其他...

    正则表达式

    JavaScript采用的是Perl语言正则表达式语法的一个相当完整的子集. 正则表达式的模式规范是由一系列字符构成的.大多数字符(包括所有字母数字字符)描述的都是按照字面意思进行匹配的字符.这样说来,正则表达式/java/...

    如何快速学习正则表达式

    正则表达式,又称正规表示法、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多...

    正则表达式,有哪些常用的?

    正则表达式(Regular Expression,通常简写为regex、regexp或RE)是一种强大的文本处理工具,它使用一种特殊的字符串模式来描述、匹配和查找一系列符合某个句法规则的字符串。正则表达式在文本编辑、搜索引擎、编程...

    常用证件号码的正则表达式大全(收集整理)

    正则表达式(Regular Expression,在代码中常简写为regex、regexp或RE)是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来...

    python使用正则表达式替换匹配成功的组

    正则表达式,又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一...

    解析posix与perl标准的正则表达式区别

    正则表达式(Regular Expression,缩写为regexp,regex或regxp),又称正规表达式、正规表示式或常规表达式或正规化表示法或正规表示法,是指一个用 来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。...

    积累比较常用的正则表达式(例如:匹配中文、匹配html)

    正则表达式(Regular Expression,在代码中常简写为regex、regexp或RE)是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来...

    正则表达式介绍和表达式大部分字符

    正则表达式(英文:Regular Expression),在计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那些符合某个...

    带你学会使用正则表达式

    正则表达式,又称正规表示法、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE)。计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本...

    目 录关键词本文是一篇讨论基于Web的数据库管理的本科毕业论文,它详细地讲述了开发一个基于Web的通用BBS(Bullitin Board Syste统所用到的技术和方法。其中运用了ASP技术(Avtive Server Page)、ADO技术(ActiveX Data Object)、MS Access数据库技术、RegExp技术(Regular Expression 正则表达式)、VBScript及JavaScript脚本语言技术等等,并从几个不同的方面来对上述技术的实现方法进行了讨论。

    一、前言 进入二十一世纪,计算机技术迅速向着网络化、集成化方向发展。传统的单机版应用软件正在逐渐退出舞台,取而代之的是支持网络、支持多种数据信息(多媒体)的新一代网络版应用软件,而目前网络版软件中似乎...

    regular-impressions:使用类似于伪代码的语言编写正则表达式

    使用类伪代码语言编写正则表达式的简单工具。 演示: : 例子: 目录 如何使用 建议命令每行写一个命令,除非命令是嵌套的。 符号和标点符号不需要转义。 使用换行符连接多个命令。 制表符和空格可用于缩进以...

    还不会正则表达式?赶快看这篇!

    正则表达式(Regular Expression 或 Regex),是用于定义某种特定搜索模式的字符组合。正则表达式可用于匹配、查找和替换文本中的字符,进行输入数据的验证,查找英文单词的拼写错误等。 调试工具 下面列出了几款...

    IP地址正则表达式匹配方法

    正则表达式(Regular Expression,在代码中常简写为regex、regexp或RE)是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来...

Global site tag (gtag.js) - Google Analytics