正则表达式

正则表达式——java实现

て烟熏妆下的殇ゞ 提交于 2020-03-21 10:50:45
——总结自廖雪峰网站 匹配任意字符 “.”可以匹配任意一个字符 String re1 = "a.c"; System.out.println("abc".matches(re1)); System.out.println("a1c".matches(re1)); System.out.println("a*c".matches(re1)); System.out.println("ac".matches(re1)); System.out.println("abbc".matches(re1)); 输出为 true true true false false 来源: https://www.cnblogs.com/lixiaoxu/p/12536758.html

PHP正则

你说的曾经没有我的故事 提交于 2020-03-21 10:24:31
一 . 正则表达式组成   '/正则表达式/' - - - 模糊查询 '/^正则表达式$/' - - - - 精准匹配   1 . 转义字符     \w 匹配任意一个数字,字母,下划线     \W 匹配任意一个非数字字母下划线之外的任意一个     \d 匹配任意一个数字0-9     \D 匹配任意一个非数字     \s 匹配任意一个 空白字符     \S 匹配任意一个非空字符      2.原子表 [ ] 匹配其中的任意一个   3.( )子模式     (1).整体一次小括号再匹配一次     (2).重复使用的模式单元     (3).将多个原子括在一起进行次数修饰     (4).(? : )取消子模式     (5).次数修饰       {n}修饰前面的原子出现n次       {n,} 修饰其前面的原子出现的次数至少n次       {n,m}原子出现n,m次 二 . 正则的函数     1.preg_match($pattern , $str , $arr );           (正则表达式,匹配的字符串,匹配到的结果)       var_dump($arr) --------匹配到的结果     2.preg_grep() 返回模式匹配的数组单元 -------筛选 过滤     3.preg_match_all();执行多次匹配      

正则表达式

£可爱£侵袭症+ 提交于 2020-03-21 07:43:20
一、校验数字的表达式 1 数字:^[0-9]*$ 2 n位的数字:^\d{n}$ 3 至少n位的数字:^\d{n,}$ 4 m-n位的数字:^\d{m,n}$ 5 零和非零开头的数字:^(0|[1-9][0-9]*)$ 6 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$ 7 带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})?$ 8 正数、负数、和小数:^(\-|\+)?\d+(\.\d+)?$ 9 有两位小数的正实数:^[0-9]+(.[0-9]{2})?$ 10 有1~3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$ 11 非零的正整数:^[1-9]\d*$ 或 ^([1-9][0-9]*){1,3}$ 或 ^\+?[1-9][0-9]*$ 12 非零的负整数:^\-[1-9][]0-9"*$ 或 ^-[1-9]\d*$ 13 非负整数:^\d+$ 或 ^[1-9]\d*|0$ 14 非正整数:^-[1-9]\d*|0$ 或 ^((-\d+)|(0+))$ 15 非负浮点数:^\d+(\.\d+)?$ 或 ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$ 16 非正浮点数:^((-\d+(\.\d+)?)|(0+(\.0+)?))$ 或 ^(-([1-9]\d*\.\d*

python之路_正则表达式及re模块

99封情书 提交于 2020-03-21 07:09:51
一、正则表达式   匹配字符串内容的一种规则。 1、字符组概念   在 同一个位置 可能出现的各种字符组成一个字符组,在正则表达式中用[]表示。常见字符组格式如下:[0123456789],[0-9],[a-z],[A-Z],必须由从小到大,不可逆序。 2、主要元字符 元字符 匹配内容 元字符 匹配内容 . 匹配出换行符以外所有字符 $ 匹配一个字符串的结束 \w 匹配数字或字母或下划线 \W 匹配非字母或数字或下划线 \d 匹配数字 \D 匹配非数字 \s 匹配任意空白符 \S 匹配非空白符 \n 匹配换行符 a|b 匹配字符a或字符b \t 匹配制表符 () 匹配括号内的表达式,也表示一个组 \b 匹配一个单词的结尾 [...] 匹配字符组中的所有的字符 ^ 匹配一个字符串的开始 [^...] 匹配除了字符组中所有的字符的字符 #.^$实例: import re obj1=re.findall('海.','海燕海娇海东') print(obj1) #输出结果为:['海燕', '海娇', '海东'],匹配所有带‘海’的字符 obj2=re.findall('^海.','海燕海娇海东') print(obj2) #输出结果为:['海燕'],只从开头匹配带海的字符 obj3=re.findall('海.$','海燕海娇海东') print(obj3) #输出结果为:['海东']

python常用模块之re模块

三世轮回 提交于 2020-03-21 07:09:35
一、re模块的作用 python中的re模块是跟正则表达式相关的一个模块,当你导入了re模块之后就可以进行正则匹配了。那么在说re模块的用法之前我们先要来说一下正则表达式的一些规则,不会正则有了re模块也没有用。 二、正则表达式 首先,正则表达式是干什么的呢?正则表达式就是按照你规定的一个匹配规则从给定的字符串中取出符合规则的部分。比如一个简单的正则匹配的例子如下: 1 import re 2 s='alex' #待匹配的字符串 3 r='a' #你定义的匹配规则 4 print(re.search(r,s).group()) 5 -------------------------------------------------------------------------------------- 6 a View Code 例子中的s变量中的值就是我们需要去匹配筛选的字符串,而变量r中的值就是我们定义的正则表达式中的匹配规则,正则表达式的匹配规则大多数就是一些元字符和量词的组合,另外就是一个.*?的用法以及re模块中findall、split模式对分组的优先级问题。 首先我们来了解一下正则表达式中的元字符有哪些,正则表达式的所有元字符如下: 元字符 匹配内容 . 匹配除换行符以外的任意字符 \w 匹配字母或数字或下划线 \s 匹配任意的空白符 \d 匹配数字 \n

python之re模块和正则表达式

こ雲淡風輕ζ 提交于 2020-03-21 07:09:14
今天我们来谈谈python中模块的使用,在探讨模块前先来了解一下正则表达式的具体用法。 1.正则表达式 正则表达式就是匹配 字符串内容的一种规则。谈到正则就和字符串相关了,首先我们要知道什么是字符组。 字符组 在同一个位置可能出现的各种字符组成了一个字符组,在正则表达式中用[]表示 字符分为很多类,比如数字、字母、标点等等。 假如你现在要求一个位置"只能出现一个数字",那么这个位置上的字符只能是0、1、2...9这10个数之一。 字符: 元字符 匹配内容 . 匹配除换行符以外的任意字符 \w 匹配字母或数字或下划线 \s 匹配任意的空白符 \d 匹配数字 \n 匹配一个换行符 \t 匹配一个制表符 \b 匹配一个单词的结尾 ^ 匹配字符串的开始 $ 匹配字符串的结尾 \W 匹配非字母或数字或下划线 \D 匹配非数字 \S 匹配非空白符 a|b 匹配字符a或字符b () 匹配括号内的表达式,也表示一个组 [...] 匹配字符组中的字符 [^...] 匹配除了字符组中字符的所有字符 量词: 量词 用法说明 * 重复零次或更多次 + 重复一次或更多次 ? 重复零次或一次 {n} 重复n次 {n,} 重复n次或更多次 {n,m} 重复n到m次 正则. ^ $的具体用法 . 可以匹配任意字符 ^只从开头匹配 $只匹配结尾的 正则 * + ? { }的用法 *表示重复零次或多次

re模块(正则表达式)

ε祈祈猫儿з 提交于 2020-03-21 07:08:21
re模块与正则表达式之间的关系   1.正则表达式是一门独立的技术,任何语言都可以使用   2.python中需要使用re模块才能使用正则   正则是用来筛选字符串中特定的内容, 只要是reg...一般情况都和正则有关 字符组 [ ]   一个字符串里面的表达式都是或的关系, 正则:[0-9a-fA-F], 可以匹配数字,大小写形式的a~f,用来验证十六进制字符, ^与$符连用 会精准限制匹配的内容,匹配内容应与两者之间的内容一致 abc|ab 一定要将长的放在前面 ^ 直接写在外面 限制字符串的开头 [^] 除了[]里写的字符 其他都要 正则在匹配的时候默认都是贪婪匹配(尽量匹配多的),通过在量词后面加上一个?就可以将贪婪匹配变成非贪婪匹配(惰性匹配) 量词必须跟在正则符号的后面,量词只能能够限制紧挨着它的那一个正则符号 分组:当多个正则符号需要重复多次的时候或者当做一个整体进行其他操作,那么可以分组的形式分组在正则的语法中就是() import re res = re.findall('[a-z]+','eva egon,jason') # findall('正则表达式','带匹配的字符串') print(res) # ['eva', 'egon', 'jason']# 将符合正则表达式的内容以列表的形式返回 import re res = re.search('a','eva

Java中String类下的replace和replaceAll方法的区别

谁说我不能喝 提交于 2020-03-20 13:37:06
replace和replaceAll是JAVA中常用的替换字符的方法 public String replace(char oldChar, char newChar) 在字符串中用newChar字符替代oldChar字符,返回一个新的字符串 ** public String replaceAll(String regex,String replacement) 使用给定的 replacement 字符串替换此字符串匹配给定的正则表达式的**每个子字符串****。(重要) 区别: 1)replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换; 2)replaceAll的参数是regex,即基于正则表达式的替换,比如,可以通过replaceAll("\d", " ")把一个字符串所有的数字字符都换成 号; 相同点: 都是全部替换,即把源字符串中的某一字符或字符串 全部换成 指定的字符或字符串。 如果只想替换第一次出现的,可以使用 replaceFirst(),这个方法也是基于规则表达式的替换 ,但与replaceAll()不同的是,只替换第一次出现的字符串; 另外,如果replaceAll()和replaceFirst()所用的参数据不是基于规则表达式的,则与replace()替换字符串的效果是一样的,即这两者也支持字符串的操作;

正则表达式

南楼画角 提交于 2020-03-19 21:27:54
java正则表达式验证邮箱、IP地址、手机号码 1.java验证IP地址: Pattern pattern = Pattern.compile("\\b((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5])\\.((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5])\\.((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5])\\.((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5])\\b"); Matcher matcher = pattern.matcher("127.400.600.2"); //以验证127.400.600.2为例 System.out.println(matcher.matches()); 2. java验证日期时间,解决润月: Pattern pattern = Pattern.compile("^((\\d{2}(([02468][048])|([13579][26]))[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|(

正则表达式

给你一囗甜甜゛ 提交于 2020-03-19 12:44:05
正则表达式: 即通过一些特定的符号操作字符串数据 特点: 简化了书写,但是阅读性较差 位于 java.util.regex 包中 匹配规则 正则表达式对字符的常见操作 // 1. 匹配, // 其实使用的就是 String 类中的 matches(String regex) 方法 // 2. 切割 // 其实使用的就是 String 类中的 split 方法 // 示例一 String str = "zhangsan.xiaoqiang.zhaoliu"; String[] name = str.split("\\.") // 其中 \\ 是对 \ 进行转义 // 示例二 String str = "zhangsanttttxiaoqiangmmmmmzhaoliu"; String[] name = str.split("(.)\\1+"); // 正则中的封装使用 (), // tttt 中第二个字符复用第一个字符 // 3. 替换 // 其实使用的就是 String 类中的 replaceAll(String regx, String replacement) 方法 // 示例一: 将字符串中的叠词替换为一个 String str = "zhangsanttttxiaoqiangmmmmmzhaoliu" str = str.replaceAll("(.)\\1+","$1"