正则表达式

记一段java正则表达式

大憨熊 提交于 2020-01-19 14:21:48
package com; import java.util.Scanner; public class ex7 { public static void main(String args[]) { System.out.println("请输入字符串:"); Scanner scan=new Scanner(System.in); String str=scan.next(); String E1="[\u4e00-\u9fa5]"; String E2="[a-zA-Z]"; String E3="[0-9]"; int countH=0; int countE=0; int countF=0; char[] arrChar=str.toCharArray(); String[] arrStr=new String[arrChar.length]; for (int i=0;i<arrChar.length ;i++ ) { arrStr[i]=String.valueOf(arrChar[i]); } for (String i: arrStr ) { if (i.matches(E1)) { countH++; } if (i.matches(E2)) { countE++; } if (i.matches(E3)) { countF++; } } System.out

利用正则表达式,去除python文件中所有注释

一笑奈何 提交于 2020-01-19 13:38:22
简介 有时候代码的注释写的太多,反而影响对程序的理解 手动删除所有注释代码,又过于麻烦 所以基于 文件读写,异常处理,正则字符串 等知识 写了这么个小程序 程序特点 在任意位置终端(cmd)中运行此程序,将需要删除注释的.py文件,拖拽到终端窗口中。都可以在源文件路径下,生成无注释版本的文件.py 和 注释的备份 .txt文件 源代码 import re def file_analysis(old_file_lines, six_quotes, hashtap): """标记需要删除的注释的行号,并存入列表""" i = 0 for line in old_file_lines: # 符号 # 独占一行 ret_1 = re.match(r"^[^\w]*#+",line) if ret_1: hashtap.append(i) # 符号 """ 独占一行 ret_2 = re.match(r"[ ]*\"\"\"",line) if ret_2: # 如果存在类型,函数说明的 """xxxxx""" 之类的,不予删除 ret_2_1 = re.match(r"[^\"]*\"\"\"[^\"]*\"\"\"",line) if ret_2_1: pass else: six_quotes.append(i) i += 1 # 将两个"""行号之间所有的行添加到 # 号列表中

C++ 正则表达式的一些探索

假如想象 提交于 2020-01-19 10:37:39
学习一下C++ 正则表达式的使用。 int main() { string s = "123abc456def789ghi"; regex r("[0-9]{3}"); string::const_iterator iterStart = s.begin(); string::const_iterator iterEnd = s.end(); smatch result; while (regex_search(iterStart, iterEnd, result, r)) { cout << result[0] << endl; iterStart = result[0].second; } return 0; } 输出的结果是123 456 789 代码很简单,一看就懂。 但是我对result[0].second产生了一点点疑问,究竟这个指针指到了哪里? 我对s加了一点点东西。 int main() { string s = "123666abc456def789ghi"; regex r("[0-9]{3}"); string::const_iterator iterStart = s.begin(); string::const_iterator iterEnd = s.end(); smatch result; while (regex_search(iterStart,

[JavaScript]常用的正则表达式

限于喜欢 提交于 2020-01-19 06:51:43
var tool = { //是否是正整数 isPositiveInteger: function (v) { if(/^[1-9][0-9]*$/.test(v) !== true) { return false; } return true; }, //是否是自然数 isNaturalNumber: function (v) { if(/^(0|[1-9][0-9]*)$/.test(v) !== true) { return false; } return true; }, //是否合法http链接 isLegalHttpUrl: function (v) { if(/^(http|https):\/\/[\S]+$/.test(v) !== true) { return false; } return true; }, //是否百分数 isPercentage: function (v) { if(/^[1-9][0-9]*%$|^[0-9]*\.[\d]{1,2}%$/.test(v) !== true) { return false; } return true; } }; 来源: CSDN 作者: Balmunc 链接: https://blog.csdn.net/Balmunc/article/details/104022449

JavaScript 正则表达式

雨燕双飞 提交于 2020-01-18 20:23:52
前言 正则表达式(英语:Regular Expression,在代码中常简写为regex、regexp或RE)使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式,可用于文本搜索和文本替换。 工作中经常会使用正则表达式。虽然用的还算多,自己也懂一些正则表达式的知识,但是真到了要用的时候,还是要借助搜索引擎来解决问题。其实对于解决问题来说,达到 “通过搜索引擎解决问题” 这个程度,在日常工作中已经够用了。 但是,对于知识和技能,如果没有积累没有整理,只是凭借着工作中使用一下的记忆与印象来作为自己的经验的话,是远远不够的,不整理不总结,它永远不会是自己的东西。 秉持着 “ 没有积累就是没有经验,没有整理就是没有掌握 ” 的原则,在这里整理一下js中正则表达式的用法。 开始 step.1 什么是正则表达式? 正则表达式是由一个字符序列形成的搜索模式。 当你在文本中搜索数据时,你可以用搜索模式来描述你要查询的内容。 正则表达式可以是一个简单的字符,或一个更复杂的模式。 正则表达式可用于所有文本搜索和文本替换的操作。 step.2 js 正则表达式的语法 /正则表达式主体/修饰符(可选) 例如: var patt = /hello/i 在上面例子中,/hello/i 是一个正则表达式,其中,hello 是主体,用于检索;i是一个修饰符,表示不区分大小写。 step.3

JS 正则表达式相关方法整理

南笙酒味 提交于 2020-01-18 18:29:18
REGEXP 对象 JS 通过内置对象 RegExp 支持正则表达式。 有两种方法实例化 RegExp 对象: 字面量 、 构造函数 。 字面量: var reg = /\bis\b/g 构造函数: var reg = new RegExp(’\bis\b’,‘g’) 创建方法的区别 1在引擎编译代码时新建正则表达式,2在运行时新建正则表达式,所以1效率更高,而且1比较遍历和直观,在实际应用中基本上都使用1。 修饰符 g:global 全文搜索,不添加,搜索到第一个匹配停止 i:ignore case 忽略大小写,默认大小写敏感 m:multiple lines 多行搜索 u:Unicode,将模式视为 Unicode 序列点的序列 y:粘性匹配,仅匹配目标字符串中此正则表达式的 lastindex 属性指示的索引 s: dotAll 模式,匹配任何字符(包括终止符 ‘\n’) 正则表达式相关方法 方法 返回值 RegExp.prototype.test(str) true false RegExp.prototype.exec(str) 结果数组 null String.prototype.search(reg) index -1 String.prototype.match(reg) 匹配数组 null String.prototype.split(reg) 分割后数组

正则表达式

夙愿已清 提交于 2020-01-18 13:54:35
正则表达式 1、正则表达式的概念 使用 单个字符串 来描述、匹配一系列符合某个 句法规则 的字符串。 2、使用场景 批量提取/替换 有规律 的字符串 在各种高级的文本编辑器中使用 在各类办公软件(office)中使用 用户输入合法性检验 网络爬虫(抓取机器人)的开发 批量的文本高效处理 3、正则表达式测试工具 RegexBuddy RegexBuilder 在线测试工具 4、元字符的概念及元字符的反义 元字符 说明 . 匹配除了换行符以外的任意字符 \w 匹配字母或数字下划线或汉字 \s 匹配任意的空白符 \d 匹配数字 \b 匹配单词的开始或结束 ^ 匹配字符串的开始 $ 匹配字符串的结束 语法 说明 \W 匹配任意不是字母,数字,下划线,汉字的字符 \S 匹配任意不是空白符的字符 \D 匹配任意非数字的字符 \B 匹配不是单词开头或结束的位置 [^x] 匹配除了x以外的任意字符 [^aeiou] 匹配除了aeiou这几个字母以外的任意字符 5、转义的概念以及正则表达式中的使用 转义字符 \ \. \* \? 6、正则表达式语言中的注释方法 7、分支条件 用 | 把不同的规则分隔开 从左到右地测试每个条件,如果满足了某个分支的话,就不会再去管其它的条件 0\d{2}-\d{8}|0\d{3}-\d{7} 8、几种重复模式 语法 说明 * 重复零次或更多次 + 重复一次或更多次 ?

使用正则表达式

前提是你 提交于 2020-01-18 03:19:34
4案例4:使用正则表达式 4.1问题 本案例要求熟悉正则表达式的编写,完成以下任务: 利用egrep工具练习正则表达式的基本用法 4.2方案 4.3步骤 实现此案例需要按照如下步骤进行 步骤一:正则表达式匹配练习 1)典型的应用场合:grep、egrep检索文本行 grep命令不带-E选项时,支持基本正则匹配模式。比如"word"关键词检索、"^word"匹配以Word开头的行、"word$"匹配以word结尾的行......等等。 输出以"r"开头的用户记录: [root@svr5 ~]# grep '^r' /etc/passwd root:x:0:0:root:/root:/bin/bash rpc:x:32:32:Portmapper RPC user:/:/sbin/nologin rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin 输出以"localhost"结尾的行: [root@svr5 ~]# grep 'localhost$' /etc/hosts 127.0.0.1 localhost.localdomain localhost 若希望在grep检索式同时组合多个条件,比如输出以"root"或者以"daemon"开头的行: [root@svr5 ~]# grep '^root|^daemon'

python 正则表达式-字符

倖福魔咒の 提交于 2020-01-18 01:44:23
元字符 在正则表达式中具有特殊意义的专用字符,可以用来规定其前导字符(即位于元字符前面的字符)在目标对象中的出现模式。 常用元字符 说明 . 匹配除换行符以外的任意字符(当re.DOTALL标记被指定时,则可以匹配包括换行符的任意字符。) \w 匹配 字母 或 数字 或 下划线 或 汉字 \s 匹配任意的 空白符 ,等价于 [\t\n\r\f] \d 匹配任意 数字 ,等价于 [0-9] \b 匹配 单词 的 开始或末尾 ^ 匹配 字符串 的 开始 $ 匹配 字符串 的 末尾 import re str = '1个 demo 例子' point = re . compile ( r '.' ) comment = re . compile ( r '\w' ) margin = re . compile ( r '\s' ) margin_2 = re . compile ( r '\s例' ) num = re . compile ( r '\d' ) word = re . compile ( r '\bm' ) word_2 = re . compile ( r '\bd' ) start = re . compile ( r '^例子' ) end = re . compile ( r '例子$' ) print ( '. :' , point . findall (

Python与正则表达式

风流意气都作罢 提交于 2020-01-17 22:30:38
参考资料: 1.菜鸟教程-Python 3 正则表达式,网址:https://www.runoob.com/python3/python3-reg-expressions.html 2.《Python从小白到大牛》,作者关东升,清华大学出版社 3.《Python数据分析基础》,作者[美]Clinton W. Brownley,译者陈光欣,中国工信出版集团,人民邮电出版社 简述正则表达式   正则表达式(Regular Expression)是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。在Python中,正则表达式的应用非常广泛,如数据挖掘、数据分析、网络爬虫、输入有效性验证等。   re模块使Python拥有全部的正则表达式功能。我们使用下面的语句来导入该模块: import re 正则表达式字符串   正则表达式字符串由普通字符和元字符组成。   普通字符是按照字符字面意义表示的字符。元字符是预先定义好的一些特殊字符,如 \w+ 和 \. 都属于元字符。   下面是一些基本元字符: 字符 说明 \ 转义符号 . 表示任意一个字符 + 表示重复一次或多次 * 表示重复零次或多次 ? 表示重复零次或一次 | 选择符号,表示“或” {} 定义量词 [] 定义字符类 () 定义分组 ^ 表示取反,或匹配一行的开始 $ 匹配一行的结束   上面提到了元字符 ^ 和