转义

正则表达式 第一篇:元字符

五迷三道 提交于 2019-12-06 11:40:51
原文: 正则表达式 第一篇:元字符 规则表达式(Regular Expression),又称作正则表达式,通常用于检索、替换符合指定规则的文本,正则表达式定义的规则,称作模式(Pattern),即正则表达式的作用是从文本中查找到符合模式的文本。 一,正则表达式的元字符 正则表达式定义的模式,是由"\"+普通字符构成的,把“\”字符称作转义字符,是因为它把普通的字符转义为有特殊含义的元字符。注意,正则表达式是区分大小写的,可以通过表达式选择来忽略大小写限制。 1,常用元字符 用以匹配特定的字符(字母,数字,符号),注意字母是区分大小写的: . 匹配任意字符(不包括换行符) ^ 匹配开始位置,多行模式下匹配每一行的开始 $ 匹配结束位置,多行模式下匹配每一行的结束 \A 匹配字符串的开始位置 \Z 匹配字符串的结束位置 \b 匹配位于每个单词的开始或结束位置 \B   匹配不是单词开头和结束的位置,即每个单词的中间位置 \d 匹配一个数字, 相当于 [0-9] \D 匹配非数字,相当于 [^0-9] \s 匹配任意空白字符, 相当于 [ \t\n\r\f\v] \S 匹配非空白字符,相当于 [^ \t\n\r\f\v] \w 匹配数字、字母、下划线中任意一个字符, 相当于 [a-zA-Z0-9_] \W 匹配非数字、字母、下划线中的任意字符,相当于 [^a-zA-Z0-9_] \

go 语言 转义序列

一曲冷凌霜 提交于 2019-12-06 10:47:51
转义序列 含义 \\      \ 字符 \'      ' 字符 \"     " 字符 \?      ? 字符 \a     警报或响铃 \b     退格 \f     换页 \n     新行 \r     回车 \t     水平制表格    \v     水直制表格    \ooo    八位数字一到三位数 \xhh...  一位或多位的十六进制数 来源: https://www.cnblogs.com/ZZYMiss/p/11978806.html

Perl 基础语法

若如初见. 提交于 2019-12-06 10:15:47
Perl 基础语法 Perl借用了C、sed、awk、shell脚本以及很多其他编程语言的特性,语法与这些语言有些类似,也有自己的特点。 Perl 程序有声明与语句组成,程序自上而下执行,包含了循环,条件控制,每个语句以分号 (;) 结束。 Perl 语言没有严格的格式规范,你可以根据自己喜欢的风格来缩进。 第一个 perl 程序 交互式编程 你可以在命令行中使用 -e 选项来输入语句来执行代码,实例如下: $ perl -e 'print "Hello World\n"' 输入以上命令,回车后,输出结果为: Hello World 脚本式编程 我们将以下代码放到 hello.pl 文件中: 实例 #!/usr/bin/perl # 输出 "Hello, World" print "Hello, world\n"; 代码中 /usr/bin/perl 是 perl 解释器的路径。在执行该脚本前要先确保文件有可执行权限,我们可以先将文件权限修改为 0755 : $ chmod 0755 hello.pl $ ./hello.pl Hello, world # 输出结果 print 也可以使用括号来输出字符串,以下两个语句输出相同的结果: print("Hello, world\n"); print "Hello, world\n"; 脚本文件 perl 代码可以写在一个文本文件中,以

C常量

半城伤御伤魂 提交于 2019-12-06 02:17:37
C 常量 常量是固定值,在程序执行期间不会改变。这些固定的值,又叫做字面量。 常量可以是任何的基本数据类型,比如整数常量、浮点常量、字符常量,或字符串字面值,也有枚举常量。 常量就像是常规的变量,只不过常量的值在定义后不能进行修改。 整数常量 整数常量可以是十进制、八进制或十六进制的常量。前缀指定基数:0x 或 0X 表示十六进制,0 表示八进制,不带前缀则默认表示十进制。 整数常量也可以带一个后缀,后缀是 U 和 L 的组合,U 表示无符号整数(unsigned),L 表示长整数(long)。后缀可以是大写,也可以是小写,U 和 L 的顺序任意。 下面列举几个整数常量的实例: 212 /* 合法的 */ 215u /* 合法的 */ 0xFeeL /* 合法的 */ 078 /* 非法的:8 不是八进制的数字 */ 032UU /* 非法的:不能重复后缀 */ 以下是各种类型的整数常量的实例: 85 /* 十进制 */ 0213 /* 八进制 */ 0x4b /* 十六进制 */ 30 /* 整数 */ 30u /* 无符号整数 */ 30l /* 长整数 */ 30ul /* 无符号长整数 */ 浮点常量 浮点常量由整数部分、小数点、小数部分和指数部分组成。您可以使用小数形式或者指数形式来表示浮点常量。 当使用小数形式表示时,必须包含小数点、指数,或同时包含两者

php SQLServer 转义符 单引号和双引号

给你一囗甜甜゛ 提交于 2019-12-05 22:56:00
sql server有两个转义符: 第一个转义符是单引号 (') 单引号 (') 默认情况下, 单引号 (') 是字符串的边界符, 如果在字符串中包含 单引号 ('), 则必须使用两个单引号 ('), 第1个单引号 (')就是转义符。 示例: 下面是条错误的sql, INSERT INTO Cogs_PurchaseSale( CreateTime,UpdateTime,ApDate, Type,Change,Currency,ExchangeRate, [Date],StoreCode,ItemColor,Qty, ProfitCenter,CreditNote) SELECT getdate(), getdate(), '2019-11-01', case when LEN(isNull(sm.Type,'StockMovement'))>0 then sm.Type else 'StockMovement' end, 'Decrease', 'SYSTEM_LOCAL_CURRENCY','1', max(sm.[Date]), LEFT(sm.RecipientWarehouse,4), sm.ItemCode+sm.ColorCode, sum(sm.Qty), max(sm.ProfitCenter),max(sm.Remark) FROM Cogs

Linux命令备忘实例(1)——终端输出

雨燕双飞 提交于 2019-12-05 22:33:59
终端是用户与shell环境进行交互的窗口,所有命令的交互结果大部分都是从终端直接显示给用户,因此这部分是友好显示结果的基础。 1.命令概览 echo是基本的终端输出命令,直接将传入的参数输入,命令格式如下: echo [options] toBeOutput 详细说明如下: 2.特性与实例说明 1.换行符 默认情况下会在每次调用之后添加一个换行符。使用-n选项可以消除这个默认值。 user@ubuntu:~ $ echo test a line user@ubuntu:~ $ test a line user@ubuntu:~ $ echo -n test a line test a line user@ubuntu:~ $ 2.引号 echo的参数可以使用双引号、单引号、不加引号,三种方式进行输出。每种方式都有各自的特性: 使用双引号,能解析内部的变量的值,但是内部不能包含“!”,这个符号有特殊意义,可以使用“!”转义,或者在echo之前使用set +H 使用单引号,所有内容以字符形式打印,也就是不会解析内部的变量的值,可以包含“!” 不使用任何引号时,shell中没有定界符,因此无法在文本中使用。虽然可以输出“!”,但是如果内部包含了“;”,则会被shell认为是多个命令,从而出现错误。 user@ubuntu:~ $ var=world user@ubuntu:~ $

php 防注入的一些总结

心不动则不痛 提交于 2019-12-05 22:02:35
一、几个与特殊字符处理有关的PHP函数 函数名 释义 介绍 htmlspecialchars 将与、单双引号、大于和小于号化成HTML格式 &转成& "转成" ' 转成' <转成< >转成> htmlentities() 所有字符都转成HTML格式 除上面htmlspecialchars字符外,还包括双字节字符显示成编码等。 addslashes 单双引号、反斜线及NULL加上反斜线转义 被改的字符包括单引号 (')、双引号 (")、反斜线 backslash (\) 以及空字符NULL。 stripslashes 去掉反斜线字符 去掉字符串中的反斜线字符。若是连续二个反斜线,则去掉一个,留下一个。若只有一个反斜线,就直接去掉。 quotemeta 加入引用符号 将字符串中含有 . \\ + * ? [ ^ ] ( $ ) 等字符的前面加入反斜线 "\" 符号。 nl2br() 将换行字符转成<br> strip_tags 去掉HTML及PHP标记 去掉字符串中任何 HTML标记和PHP标记,包括标记封堵之间的内容。注意如果字符串HTML及PHP标签存在错误,也会返回错误。 mysql_real_escape_string 转义SQL字符串中的特殊字符 转义 \x00 \n \r 空格 \ ' " \x1a,针对多字节字符处理很有效。mysql_real_escape

json_encode转义中文问题

99封情书 提交于 2019-12-05 17:50:41
默认情况下php的 json_decode 方法会把特殊字符进行转义,还会把中文转为Unicode编码形式。 这使得数据库查看文本变得很麻烦。所以我们需要限制对于中文的转义。 对于PHP5.4+版本,json_decode函数第二个参数,可以用来限制转义范围。 要限制中文,使用JSON_UNESCAPED_UNICODE参数。 json_encode($a, JSON_UNESCAPED_UNICODE); 对于PHP5.3版本,可以先把ASCII 127以上的字符转换为HTML数值,这样避免被json_decode函数转码 function my_json_encode($arr) { array_walk_recursive($arr, function (&$item, $key) { if (is_string($item)) $item = mb_encode_numericentity($item, array (0x80, 0xffff, 0, 0xffff), 'UTF-8'); }); return mb_decode_numericentity(json_encode($arr), array (0x80, 0xffff, 0, 0xffff), 'UTF-8'); } 在编码过程中、经常会用到json_encode来处理中文、但是、出现一个问题、中文都会被转码

Linux/Unix工具与正则表达式的POSIX规范--awk使用中遇到的坑

北城以北 提交于 2019-12-05 10:21:00
对正则表达式有基本了解的读者,一定不会陌生『\d』、『[a-z]+』之类的表达式,前者匹配一个数字字符,后者匹配一个以上的小写英文字母。但是如果你用过vi、grep、awk、sed之类Linux/Unix下的工具或许会发现,这些工具虽然支持正则表达式,语法却很不一样,照通常习惯的办法写的『\d』、『[a-z]+』之类的正则表达式,往往不是无法识别就是匹配错误。而且,这些工具自身之间也存在差异,同样的结构,有时需要转义有时不需要转义。这,究竟是为什么呢? 原因在于,Unix/Linux下的工具大多采用POSIX规范,同时,POSIX规范又可分为两种流派(flavor)。所以,首先有必要了解一下POSIX规范。 POSIX规范 常见的正则表达式记法,其实都源于Perl,实际上,正则表达式从Perl衍生出一个显赫的流派,叫做PCRE(Perl Compatible Regular Expression),『\d』、『\w』、『\s』之类的记法,就是这个流派的特征。但是在PCRE之外,正则表达式还有其它流派,比如下面要介绍的POSIX规范的正则表达式。 POSIX的全称是Portable Operating System Interface for uniX,它由一系列规范构成,定义了UNIX操作系统应当支持的功能,所以“POSIX规范的正则表达式”其实只是“关于正则表达式的POSIX规范