正则表达式

正则表达式

此生再无相见时 提交于 2020-02-23 11:54:05
非打印字符也可以是正则表达式的组成部分。下表列出了表示非打印字符的转义序列: 字符 描述 \cx 匹配由x指明的控制字符。例如, \cM 匹配一个 Control-M 或回车符。x 的值必须为 A-Z 或 a-z 之一。否则,将 c 视为一个原义的 'c' 字符。 \f 匹配一个换页符。等价于 \x0c 和 \cL。 \n 匹配一个换行符。等价于 \x0a 和 \cJ。 \r 匹配一个回车符。等价于 \x0d 和 \cM。 \s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。 \S 匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。 \t 匹配一个制表符。等价于 \x09 和 \cI。 \v 匹配一个垂直制表符。等价于 \x0b 和 \cK。 特殊字符 所谓特殊字符,就是一些有特殊含义的字符,如上面说的?runoo*b?中的?*,简单的说就是表示任何字符串的意思。如果要查找字符串中的?*?符号,则需要对?*?进行转义,即在其前加一个?\:?runo\*ob?匹配 runo*ob。 许多元字符要求在试图匹配它们时特别对待。若要匹配这些特殊字符,必须首先使字符"转义",即,将反斜杠字符\?放在它们前面。下表列出了正则表达式中的特殊字符: 特别字符 描述 $ 匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性

js正则表达式

醉酒当歌 提交于 2020-02-23 01:51:30
正则表达式 正则表达式,又称规则表达式。 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。 正则表达式通常用来检索、替换那些符合某个规则的文本。 正则表达式的作用: 1.灵活性、逻辑性和功能性非常的强 2.可以迅速地用极简单的方式达到字符串的复杂控制 3.对于刚接触的人来说,比较晦涩难懂 一:常见正则表达式 元字符 \d : 匹配任意一个数字,0~9 中的任意一个。 \s : 匹配任意一个空白字符。 \b : 匹配一个单词边界,不匹配任何字符。 \w : 匹配任意一个字符( 字母、 数字、下划线 )。 . : 匹配任意一个字符,除了换行符( \n )。 \n : 查找换行符。 \u : 通常用来匹配汉字。 表达式 “\d”,"\s","\b","\w",对应的大写字母表示相反的意义。 如:\D 匹配所有的非数字字符(反选)。 方括号 [abc] : 查找方括号之间的任何一个字符。 [^abc] : 查找任何不在方括号之间的字符(反选)。 [0-9] : 查找任何从 0 至 9 的数字。 [a-z] : 查找任何从小写 a 到小写 z 的字符。 [A-Z] : 查找任何从大写 A 到大写 Z的字符。 量词 n+ : 匹配任何包含至少一个 n 的字符串。{1,} n?

ava中判断字符串是否为数字的方法

有些话、适合烂在心里 提交于 2020-02-22 22:48:44
1.用JAVA自带的函数 public static boolean isNumeric(String str){ for (int i = 0; i < str.length(); i++){ System.out.println(str.charAt(i)); if (!Character.isDigit(str.charAt(i))){ return false; } } return true; } 2.用正则表达式 首先要import java.util.regex.Pattern 和 java.util.regex.Matcher public boolean isNumeric(String str){ Pattern pattern = Pattern.compile("[0-9]*"); Matcher isNum = pattern.matcher(str); if( !isNum.matches() ){ return false; } return true; } 3.使用org.apache.commons.lang org.apache.commons.lang.StringUtils; boolean isNunicodeDigits=StringUtils.isNumeric("aaa123456789"); http://jakarta

蓝桥杯 PREV-53 正则问题 Java版

风流意气都作罢 提交于 2020-02-22 20:51:41
问题描述 考虑一种简单的正则表达式:   只由 x ( ) | 组成的正则表达式。   小明想求出这个正则表达式能接受的最长字符串的长度。 例如 ((xx|xxx)x|(x|xx))xx 能接受的最长字符串是: xxxxxx,长度是6。 输入格式   一个由x()|组成的正则表达式。输入长度不超过100,保证合法。 输出格式   这个正则表达式能接受的最长字符串的长度。 样例输入 ((xx|xxx)x|(x|xx))xx 样例输出 6 数据规模和约定 峰值内存消耗(含虚拟机) < 256M   CPU消耗 < 1000ms 请严格按要求输出,不要画蛇添足地打印类似:“请您输入…” 的多余内容。 注意:   main函数需要返回0;   只使用ANSI C/ANSI C++ 标准;   不要调用依赖于编译环境或操作系统的特殊函数。   所有依赖的函数必须明确地在源文件中 #include   不能通过工程设置而省略常用头文件。   提交程序时,注意选择所期望的语言类型和编译器类型。 思路 采用DFS 遇到“(”,开始新的搜索; 遇到“)”,结束搜索,并找出括号里的最大值 遇到“|”,记录“(”到它之间的字符长度,用于“)”时比较 参考 https://blog.csdn.net/qq_34243930/article/details/79604366?depth_1-utm

PHP的正则表达式

不想你离开。 提交于 2020-02-22 14:22:21
正则表达式,大家在开发中应该是经常用到,现在很多开发语言都有正则表达式的应用,比如javascript,java,.net,php等等,我今天就把我对正则表达式的理解跟大家唠唠,不当之处,请多多指教! 需要知道的术语——下面的术语你知道多少? Δ 定界符 Δ 字符域 Δ 修饰符 Δ 限定符 Δ 脱字符 Δ 通配符(正向预查,反向预查) Δ 反向引用 Δ 惰性匹配 Δ 注释 Δ 零字符宽 定位 我们什么时候使用正则表达式呢?不是所有的字符操作都用正则就好了,php在某些方面用正则反而影响效率。当我们遇到复杂文本数据的解析时候,用正则是比较好的选择。 优点 正则表达式在处理复杂字符操作的时候,可以提高工作效率,也在一定程度节省你的代码量。 缺点 我们在使用正则表达式的时候,复杂的正则表达式会加大代码的复杂度,让人很难理解。所以我们有的时候需要在正则表达式内部添加注释。 通用模式 ¤ 定界符,通常使用 "/"做为定界符开始和结束,也可以使用"#"。   什么时候使用"#"呢?一般是在你的字符串中有很多"/"字符的时候,因为正则的时候这种字符需要转义,比如uri。 使用"/"定界符的代码如下. ? $regex = '/^http:\/\/([\w.]+)\/([\w]+)\/([\w]+)\.html$/i' ; $str = 'http://www.youku.com/show

防止SQL注入的五种方法!!!!!!!

我与影子孤独终老i 提交于 2020-02-22 13:07:51
一、SQL注入简介 SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击,而是针对程序员编程时的疏忽,通过SQL语句,实现无帐号登录,甚至篡改数据库。 二、SQL注入攻击的总体思路 1.寻找到SQL注入的位置 2.判断服务器类型和后台数据库类型 3.针对不通的服务器和数据库特点进行SQL注入攻击 三、SQL注入攻击实例 比如在一个登录界面,要求输入用户名和密码: 可以这样输入实现免帐号登录: 用户名: ‘or 1 = 1 – 密 码: 点登陆,如若没有做特殊处理,那么这个非法用户就很得意的登陆进去了.(当然现在的有些语言的数据库API已经处理了这些问题) 这是为什么呢? 下面我们分析一下: 从理论上说,后台认证程序中会有如下的SQL语句: String sql = "select * from user_table where username= ’ “+userName+” ’ and password=’ “+password+” '"; 当输入了上面的用户名和密码,上面的SQL语句变成: SELECT * FROM user_table WHERE username= ‘’or 1 = 1 – and password=’’ 分析SQL语句: 条件后面username=”or 1=1 用户名等于 ” 或1=1 那么这个条件一定会成功; 然后后面加两个-

17 - JavaScript正则表达式

落花浮王杯 提交于 2020-02-22 05:42:20
正则表达式是什么 规则表达式 正则表达式的应用场景 1》表单验证 2》解析url参数 3》筛选.... 正则表达式的定义 1》字面量形式 ===》 // 2》构造函数形式 ===》new RegExp() *****区别 字面量形式内不能够放入变量|函数.. 构造函数形式内可以放入变量|函数 正则表达式的方法 1》test: 功能:看内容是否与正则匹配 返回:布尔值, 匹配==》true 不匹配===>false 2》exec 功能:看内容是否与正则匹配 返回:匹配==》数组 不匹配==》null 正则表达式的元字符 [] ===》匹配括号内的任意“一个”字符 [^] ===》除了括号内的任意字符 [0-9] ===》匹配0至9的任意数字 [a-z] ===》匹配a至z的任意小写字母 [A-Z] ===》匹配A至Z的任意大写字母 \d ===》匹配数字 :[0-9] \D ===》匹配非数字 \w ===》匹配数字、字母、下划线 : [0-9a-zA-Z_] \W ===》匹配非数字、字母、下划线 \s ===》匹配空格 \S ===》非空格 \b ===》匹配边界 . ===》除换行符以外的任意字符 转义符 \ 正则表达式限定符 ^ ===》以字符串的起始(开始) $ ===》以字符串的结束(结束) 正则表达式重复 {n} ====>匹配重复N次 {n,} ====

Jmeter提取器

霸气de小男生 提交于 2020-02-22 04:01:12
1.正则表达式提取(Regular Expression Extractor) Apply to:返回结果的范围 1)Main sample and sub-samples:作用于主节点的取样器及对应子节点的取样器 2)Main sample only:仅作用于主节点的取样器 3)Sub-samples only:仅作用于子节点的取样器 4)JMeter Variable:从指定变量值中提取,如${test} Field to check:要检查的响应报文的范围 1)主体:响应报文的主体,最常用 2)Body(unescaped):主体,是替换了所有的html转义符的响应主体内容,注意html转义符处理时不考虑上下文,因此可能有不正确的转换,不太建议使用 3)Body as a Document:从不同类型的文件中提取文本,注意这个选项比较影响性能 4)Response Headers:响应信息头(如果你使用的是中文版的Jmeter,会看到这一项是信息头,这是中文翻译问题,应以英文为准) 5)Request Headers:请求信息头 6)URL:请求url 7)Response Code:响应状态码,比如200、404等 8)Response Message:响应信息 Reference Name:引用名称,存储提取结果,后文可使用${}形式引用 Regular

Jmeter-正则表达和xpath

感情迁移 提交于 2020-02-22 03:32:02
一、正则表达式提取器 1、添加正则表达式 在需要获得数据的上一个请求上右击添加一个后置处理器-->正则表达式提取器 解释 : (1)引用名称 :下一个请求要引用的参数名称,如填写activityID,则可用${activityID}引用它。 (2)正则表达式 :     ()括起来的部分就是要提取的。     .匹配任何字符串。     +:一次或多次。     ?:不要太贪婪,在找到第一个匹配项后停止。 注:(.+?)[.\n]+可以匹配换行符在内的所有字符。 (3)模板 :用$$引用起来,如果在正则表达式中有多个正则表达式(多个括号括起来的东东),则可以是$2$$3$等等,表示解析到的第几个值给title。如:$1$表示解析到的第1个值 (4)匹配数字 :0代表随机取值,1代表全部取值,通常情况下填0,如果在LR中,取出的值是一个数组,还得处理一下,LR11版本用一个随机的函数就可以不用写大段的代码来处理数组。 (5)缺省值 :如果参数没有取得到值,那默认给一个值让它取。 2、关于正则表达式的举例说明 (1)提取单个字符串: 假设测试人员期望匹配Web页面的如下部分:<input type="hidden" name="passport" id="passport" value="1234567897"/>并提取1234567897。 一个符合要求的正则表达式:<input

正则表达式练习题集(附答案)

£可爱£侵袭症+ 提交于 2020-02-22 00:51:28
   前言 好久到没有去写关于正则表达式的总结了,虽然自己写了一些关于正则表达式的东西。但是 感觉上对正则表达式还停留在网上查找的阶段,对于大部分的人来说,很难写自己的正则表达式 对于正则表达式笔者也做过相关的总结。呃,过了一段时间还是模糊了。因此找一些练习题来找 回自己的记忆。 需要说明的是这些练习题有的是网上的! 初级练习 1、求非负整数 : ^\d+$ Tips:需要注意的是这个匹配模式为多行模式下进行的 2、匹配正整数: ^[1-9]*[1-9][0-9]*$ 在网上也有这种写法的 ^[0-9]*[1-9][0-9]*$ 这里截图我也不贴了,前者指能匹配123012这种整数,而后者可以匹配001230。 取舍就看实际的需要了 3、非正整数:^(-\d+|(0+))$ 4、负整数:^-[0-9]*[1-9][0-9]*$ 5、整数 :^-?\d+$ 6、非负浮点数 :^\d+(\.\d+)?$ 7、正浮点数 :^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$ 8、非正浮点数 :^((-\d+(\.\d+)?)|(0+(\.0+)?))$ 9、负浮点数:^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)