正则表达式

正则表达式用法

假装没事ソ 提交于 2020-03-03 06:50:10
正则表达式使用详解   简介   简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具。其作用如下:   测试字符串的某个模式。例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式。这称为数据有效性验证。   替换文本。可以在文档中使用一个正则表达式来标识特定文字,然后可以全部将其删除,或者替换为别的文字。   根据模式匹配从字符串中提取一个子字符串。可以用来在文本或输入字段中查找特定文字。   基本语法   在对正则表达式的功能和作用有了初步的了解之后,我们就来具体看一下正则表达式的语法格式。   正则表达式的形式一般如下:   /love/  其中位于“/”定界符之间的部分就是将要在目标对象中进行匹配的模式。用户只要把希望查找匹配对象的模式内容放入“/”定界符之间即可。为了能够使用户更加灵活的定制模式内容,正则表达式提供了专门的“元字符”。所谓元字符就是指那些在正则表达式中具有特殊意义的专用字符,可以用来规定其前导字符(即位于元字符前面的字符)在目标对象中的出现模式。   较为常用的元字符包括: “+”, “*”,以及 “?”。   “+”元字符规定其前导字符必须在目标对象中连续出现一次或多次。   “*”元字符规定其前导字符必须在目标对象中出现零次或连续多次。   “?”元字符规定其前导对象必须在目标对象中连续出现零次或一次。

javascript正则表达式使用详解

﹥>﹥吖頭↗ 提交于 2020-03-03 06:49:49
简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具。其作用如下: 测试字符串的某个模式。例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式。这称为数据有效性验证。 替换文本。可以在文档中使用一个正则表达式来标识特定文字,然后可以全部将其删除,或者替换为别的文字。 根据模式匹配从字符串中提取一个子字符串。可以用来在文本或输入字段中查找特定文字。 基本语法 在对正则表达式的功能和作用有了初步的了解之后,我们就来具体看一下正则表达式的语法格式。 正则表达式的形式一般如下:   /love/  其中位于“/”定界符之间的部分就是将要在目标对象中进行匹配的模式。用户只要把希望查找匹配对象的模式内容放入“/”定界符之间即可。为了能够使用户更加灵活的定制模式内容,正则表达式提供了专门的“元字符”。所谓元字符就是指那些在正则表达式中具有特殊意义的专用字符,可以用来规定其前导字符(即位于元字符前面的字符)在目标对象中的出现模式。 较为常用的元字符包括: “+”, “*”,以及 “?”。 “+”元字符规定其前导字符必须在目标对象中连续出现一次或多次。 “*”元字符规定其前导字符必须在目标对象中出现零次或连续多次。 “?”元字符规定其前导对象必须在目标对象中连续出现零次或一次。 下面,就让我们来看一下正则表达式元字符的具体应用。 /fo+/ 

js 正则表达式

时光怂恿深爱的人放手 提交于 2020-03-03 05:56:14
===========================[ ]方括号 ==================== res = /[abc]/.test('la');          //t 查找方括号之间的任何字符。 res = /[^abc]/.test('lue');          //t查找任何不在方括号之间的字符。 res = /[0-9]/.test('this is a test');     //f 查找任何从 0 至 9 的数字。 res = /[a-z]/.test('234235453245');   //f 查找任何从小写 a 到小写 z 的字符。 res = /php|javascript|ios/i.test('PHP'); //t 查找任何指定的选项。 console.log(res); ===========================元字符==================== res = /./.test('\n');       //false 查找单个字符,除了换行和行结束符。 \r == \n res = /./.test('this is a test'); res = /\w/.test('hello nana')   //true 查找单词字符。也就是查找[a-zA-Z0-9] res = /\w/.test('!#@w');

正则表达式方法

孤者浪人 提交于 2020-03-03 05:47:45
什么是正则表达式?   使用单个字符串来描述、匹配一系列·符合·某个句法规则的字符串搜索模式。搜索模式可用于文本搜索与文本替换。   语法:/正则表达式主体/修饰符(例:var re = /search/i; search是主体,i是修饰符)。 1、字符串方法(search()、replace()、match()、split()) search()方法,用于检索指定字符串的子字符串,并返回子字符串的起始位置。   语法:str.search(regexp);   例:var str = '我是search';   (1)使用正则表达式(搜索'search',不区分大小写,返回search在str中的位置)。   console.log(str.search(/search/i));//输出结果为2。   (2)使用字符串作为参数,字符串参数会转为正则表达式。   console.log(str.search('search'));//输出结果为2。 replace()方法,用在字符串中的一些字符替换另一些字符,或替换与正则表达式匹配的字符串。   语法:str.replace(regexp);   例:var str = '我是replace。';   (1)使用正则表达式(替换str中的'search'为替换,不区分大小写)。   console.log(str.replace(

java正则表达式

旧城冷巷雨未停 提交于 2020-03-02 19:48:46
Java的正则表达式讲解:(为了能看清,本文正则表达式用中文的句号代替英文句点) 1 英文句点符号:匹配单个任意字符。 eg: 表达式”t。o 可以匹配:tno,t#o,teo等等。不可以匹配:tnno,to,Tno,t正o等。 2 方括号:只有方括号里面指定的字符才参与匹配,也只能匹配单个字符。 eg: 表达式:t[abcd]n 只可以匹配:tan,tbn,tcn,tdn。不可以匹配:thn,tabn,tn等。 3 | 符号。相当与“或”,可以匹配指定的字符,但是也只能选择其中一项进行匹配。 eg: 表达式:t(a|b|c|dd)n 只可以匹配:tan,tbn,tcn,tddn。不可以匹配taan,tn,tabcn 4 表示匹配次数的符号 {n, }表示至少N次。 eg: 表达式:[0—9]{ 3 } \— [0-9]{ 2 } \— [0-9]{ 3 } 的匹配格式为:999—99—999 因为“—”符号在正则表达式中有特殊的含义,它表示一个范围,所以在前面加转义字符“\”。 5 ^符号:表示否 ^符号被称为“否”符号,如果用在方括号内,“^“表示不想匹配的字符。 eg: 表达式:[^x] 第一个字符不能是x 6:圆括号,和空白符号 “\s”是空白符号,只可以匹配一个空格、制表符、回车符、换页符,不可以匹配自己输入的多个空格。 ()是分组号,可以用ORO API提取处出值

java正则表达式校验电话号码

五迷三道 提交于 2020-03-02 11:45:32
/** * 验证电话号码 */ private static Pattern pattern = Pattern.compile("0\\d{2,3}[-]?\\d{7,8}|0\\d{2,3}\\s?\\d{7,8}|[1-9]\\d{6,7}"); /** * 校验电话号码格式,校验异常返回空 * * @param officePhone * 办公电话 * @return 校验结果 */ private static String validOfficePhonePattern(String officePhone) { if (StringUtils.isBlank(officePhone)) { return officePhone; } else { String newStr = StringUtils.replace(officePhone, "--", "-").replaceAll("——", "-"); Matcher matcher = pattern.matcher(newStr); boolean bool = matcher.matches(); if (bool) { return newStr; } else { return StringUtils.EMPTY; } } } 来源: oschina 链接: https://my.oschina

常用JS对象的方法总结

。_饼干妹妹 提交于 2020-03-02 10:00:55
http://www.cnblogs.com/Yfling/p/6681207.html String 方法 描述 charAt() 返回在指定位置的字符。 charCodeAt() 返回在指定的位置的字符的 Unicode 编码。 concat() 连接字符串。 indexOf() 检索字符串。 match() 找到一个或多个正则表达式的匹配。 replace() 替换与正则表达式匹配的子串。 search() 检索与正则表达式相匹配的值。 slice() 提取字符串的片断,并在新的字符串中返回被提取的部分。 split() 把字符串分割为字符串数组。 toLocaleLowerCase() 把字符串转换为小写。 toLocaleUpperCase() 把字符串转换为大写。 toLowerCase() 把字符串转换为小写。 toUpperCase() 把字符串转换为大写。 substr() 从起始索引号提取字符串中指定数目的字符。 substring() 提取字符串中两个指定的索引号之间的字符。 数组 方法 描述 slice[start,end) 返回从原数组中指定开始下标到结束下标之间的项组成的新数组(不影响原数组) . 1个参数:n.即:n到末尾的所有 . 2个参数:[start,end] splice(): . 删除:2个参数,起始位置,删除的项数 . 插入:3个参数

go package学习——regexp

隐身守侯 提交于 2020-03-01 20:46:08
package regexp实现了正则表达式的搜索。 Index func Match(pattern string, b []byte) (matched bool, err error) func MatchReader(pattern string, r io.RuneReader) (matched bool, err error) func MatchString(pattern string, s string) (matched bool, err error) func QuoteMeta(s string) string type Regexp func Compile(expr string) (*Regexp, error) func CompilePOSIX(expr string) (*Regexp, error) func MustCompile(str string) *Regexp func MustCompilePOSIX(str string) *Regexp func (re *Regexp) Expand(dst []byte, template []byte, src []byte, match []int) []byte func (re *Regexp) ExpandString(dst []byte, template string,

正则表达式二

佐手、 提交于 2020-03-01 15:44:38
语法 含义 (?= pattern ) 肯定的 lookahead 零宽度断言 查看字符串中的当前位置是否紧跟着出现了 pattern ,而 pattern 不会成为匹配字符串的一部分。 'A(?=B)' 匹配后面跟有 B 的 A,但不使 B 成为匹配的一部分。 例如, SELECT REGEXP_SUBSTR( 'in new york city', 'new(?=\\syork)'); 会返回子串 new,因为它后面紧跟着 ' york'(请注意 york 前面的空格)。 (?! pattern ) 否定的 lookahead 零宽度断言 查看字符串中的当前位置是否 没有 紧跟着出现 pattern ,而 pattern 不会成为匹配字符串的一部分。所以, 'A(?!B)' 匹配后面未跟着 B 的 A。 例如, SELECT REGEXP_SUBSTR('new jersey', 'new(?!\\syork)'); 会返回子串 new。 (?<= pattern ) 肯定的 lookbehind 零宽度断言 查看字符串中的当前位置是否前面紧挨着出现了 pattern ,而 pattern 不会成为匹配字符串的一部分。所以, '(?<=A)B' 匹配前面紧挨着 A 的 B,但不使 A 成为匹配的一部分。 例如, SELECT REGEXP_SUBSTR('new york',

正则表达式的先行断言(lookahead)和后行断言(lookbehind)

岁酱吖の 提交于 2020-03-01 14:05:32
正则表达式的先行断言和后行断言一共有4种形式: (?=pattern) 零宽正向先行断言(zero-width positive lookahead assertion) (?!pattern) 零宽负向先行断言(zero-width negative lookahead assertion) (?<=pattern) 零宽正向后行断言(zero-width positive lookbehind assertion) (?<!pattern) 零宽负向后行断言(zero-width negative lookbehind assertion) 这里面的pattern是一个正则表达式。 如同^代表开头,$代表结尾,\b代表单词边界一样,先行断言和后行断言也有类似的作用,它们只匹配某些 位置 ,在匹配过程中,不占用字符,所以被称为“零宽”。所谓 位置 ,是指字符串中(每行)第一个字符的左边、最后一个字符的右边以及相邻字符的中间(假设文字方向是头左尾右)。 下面分别举例来说明这4种断言的含义。 (?=pattern) 正向先行断言 代表字符串中的一个位置, 紧接该位置之后 的字符序列 能够匹配 pattern。 例如对”a regular expression”这个字符串,要想匹配 re gular中的re,但不能匹配expression中的re,可以用”re(?=gular)”