特殊字符

Shell中特殊字符的含义

不羁岁月 提交于 2019-11-30 13:19:37
$0 这个程式的执行名字 $n 这个程式的第n个参数值,n=1..9 $* 这个程式的所有参数,此选项参数可超过9个。 $# 这个程式的参数个数 $$ 这个程式的PID(脚本运行的当前进程ID号) $! 执行上一个背景指令的PID(后台运行的最后一个进程的进程ID号) $? 执行上一个指令的返回值 (显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误) $- 显示shell使用的当前选项,与set命令功能相同 $@ 跟$*类似,但是可以当作数组用 来源: https://www.cnblogs.com/7haoyu/p/11592275.html

url 传递参数(特殊字符)解决方法

…衆ロ難τιáo~ 提交于 2019-11-30 11:30:34
url 传递参数(特殊字符)解决方法 首先设置 apache 配置文件, server.xml 在 port=8080 那一行中加上 URIEcoding=GBK 有些符号在URL中是不能直接传递的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了。下表中列出了一些URL特殊符号及编码       十六进制值 1. + URL 中+号表示空格 %2B 2. 空格 URL中的空格可以用+号或者编码 %20 3. / 分隔目录和子目录 %2F 4. ? 分隔实际的 URL 和参数 %3F 5. % 指定特殊字符 %25 6. # 表示书签 %23 7. & URL 中指定的参数间的分隔符 %26 8. = URL 中指定参数的值 %3D 解决的方法: replace() 方法如果直接用str.replace("-","!") 只会替换第一个匹配的字符. 而str.replace(/\-/g,"!")则可以替换掉全部匹配的字符(g为全局标志)。 replace() js中替换字符变量如下: data2=data2.replace(/\%/g,"%25"); data2=data2.replace(/\#/g,"%23"); data2=data2.replace(/\&/g,"%26"); --------------------------------------------

【Java基础】正则表达式

梦想的初衷 提交于 2019-11-30 08:19:08
目录 正则表达式 什么正则表达式 普通字符 预定义字符 特殊字符 数量限定字符 定位字符 选择符和分组 反向引用 预搜索 运算符的优先级 常用正则 附录 正则表达式 本文的大部分内容转载自 正则表达式从入门到实战 ,内容按照自己的风格进行了排版。 什么正则表达式 正则表达式(Regular Expression)可以理解为是对一种文本匹配规则的描述。正则表达式的主要作用是用来检索、匹配或替换那些符合某个(规则)模式的文本内容。比如我们要检查一个字符串是不是一个合法的邮箱,或者是不是一个合法的身份证时都可以使用正则表达式来匹配。 普通字符 普通字符主要指:字母[a-zA-Z]、数字[0-9]、下划线[-]、汉字,标点符号等。对于普通字符可以使用方括号表达式。如下: 但是,特殊字符(除了小尖角“^”和中划线“-”外)被包含到方括号中,就会失去特殊意义,只代表其字符本身。比如[\d.+] 匹配0-9的任意一个数字或者小数点“.”或者加号“+”。也就是说\d在自定义集合中仍然表示数字,但是小数点在字符集合中只表示小数点本身,而不是除“\r\n”之外的任何单个字符。 预定义字符 这类预定义字符可以匹配依赖字符。比如\d就可以匹配0-9这10个数字字符,使用起来比较方便。如果要匹配包括"\n"在内的所有字符,一般用[\s\S] 特殊字符 特殊字符在正则表达式中表示特殊的含义,比如:*,+,?,

python 正则表达式特殊字符

别说谁变了你拦得住时间么 提交于 2019-11-30 06:07:35
字符 描述 \ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符。例如,'n' 匹配字符 "n"。'\n' 匹配一个换行符。序列 '\\' 匹配 "\" 而 "\(" 则匹配 "("。 ^ 匹配输入字符串的开始位置。如果设置了 RegExp 对象的 Multiline 属性,^ 也匹配 '\n' 或 '\r' 之后的位置。 $ 匹配输入字符串的结束位置。如果设置了RegExp 对象的 Multiline 属性,$ 也匹配 '\n' 或 '\r' 之前的位置。 * 匹配前面的子表达式零次或多次。例如,zo* 能匹配 "z" 以及 "zoo"。* 等价于{0,}。 + 匹配前面的子表达式一次或多次。例如,'zo+' 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。+ 等价于 {1,}。 ? 匹配前面的子表达式零次或一次。例如,"do(es)?" 可以匹配 "do" 或 "does" 中的"do" 。? 等价于 {0,1}。 {n} n 是一个非负整数。匹配确定的 n 次。例如,'o{2}' 不能匹配 "Bob" 中的 'o',但是能匹配 "food" 中的两个 o。 {n,} n 是一个非负整数。至少匹配n 次。例如,'o{2,}' 不能匹配 "Bob" 中的 'o',但能匹配 "foooood" 中的所有 o。'o{1,}' 等价于 'o+

java中最容易犯错的特殊字符

蓝咒 提交于 2019-11-29 09:41:56
问题背景 能准确说出下面的java 执行完毕后会打印出什么? System.out.println( String.class.getName()+ ".class"); System.out.println( String.class.getName(). replaceAll(".","/") + ".class"); 相信对于第一行,大部分人不会犯错,打印 java.lang.String.class 我们想使用/去分割类的包,期待打印的结果为 java/lang/String/class 真实返回的结果是这个样子的: ////////////////.class 为什么会这样呢 原因   问题在于 String.replaceAll 接受了一个正则表达式作为它的第一个参数,而并 非接受了一个字符序列字面常量 。(正则表达式已经被添加到了Java 平台的1.4 版本中。)正则表达式“.”可以匹配任何单个的字符,因此,类名中的每一个 字符都被替换成了一个斜杠,进而产生了我们看到的输出。 解决方式 方式一:使用转义字符 System.out.println( String.class.getName(). replaceAll("\\.","/") + ".class"); 打印结果 java/lang/String.class 是不是有点不懂,为什么会有两个? 第一个"\

通过模板语言 freemarker cheetah 导出word

萝らか妹 提交于 2019-11-29 06:39:33
遇到一个关于特殊符号的问题,在这里记录一下 场景: 因为word 可以转为 xml格式,所以通过这个xml我制作了一个模板文件,通过freemarker和cheetah两种模板语言替换模板,达到生成word的目的,生成的word 总是打开报错,我只能一部分一部分的代码进行调试,最终报错定位到一个字段的模板位置,我调试了一下这个字段的内容,发现有许多 * % # @ & 这种特殊字符,于是幡然醒悟,有可能是特殊字符没有进行转义,于是下面的工作就简单多了 解决方案: 在word 文档中输入以上特殊字符,然后右键另存为 xml,结果发现只有& 是以 &的形式存在,其他字符都没有变化,自此问题解决了 来源: oschina 链接: https://my.oschina.net/u/156709/blog/112078

Python字符串和正则表达式中的反斜杠('\\')问题

和自甴很熟 提交于 2019-11-29 04:22:45
在Python普通字符串中 在Python中,我们用'\'来转义某些普通字符,使其成为特殊字符,比如 In [1]: print('abc\ndef') # '\n'具有换行的作用 abc defg In [2]: print('abc\tdef') # '\t'具有制位符的作用 abc defg 我们还可以用'\'来转义特殊字符,使其成为普通字符,比如 In [3]: print('abc\\tdef') # 使'\'成为一个普通的字符,没有转义作用 abc\tdef In [4]: print('abc\'tdef') # 使'''成为一个普通的字符,不再需要和另一半单引号'''配对 abc'tde 所以,在python普通字符串中,我们不能以奇数个'\'结尾,这样会导致结束的的引号转义成一个纯字符,从而使得这段字符串没有引号来结束。 在Python原生字符串中 我们在字符串前加一个'r'来表示原生字符串,比如r'abc'。原生字符串中的特殊字符的特殊含义将会被剥夺掉,如下 In [5]: print(r'abc\ndefg') # '\n'没有换行的作用,仅仅是一个普通的字符串 abc\ndefg In [6]: print(r'abc\tdefg') # '\t'没有制位符的作用,仅仅是一个普通的字符串 abc\tdef 这里有一个奇怪的问题,在原生字符串中,虽然'\

Python---字符串

落爺英雄遲暮 提交于 2019-11-28 19:52:14
这一篇文章主要是总结字符串的常用用法 (1)字符串拼接 字符串的拼接指的是将多个字符串连成一个新的字符串,如例: s1="hello "'world' print(s1) print(type(s1)) s2="hello" s3="world" s4=s2+s3 print(s3) a=123 b=345 c=str(a)+str(b) print(c) s1="hello" s2=12345 s3=s1+repr(s2) print(s3) 输出结果: hello world <class 'str'> world 123345 hello12345 (2)字符串分割 字符串的分割指的是将字符串按照一定分割方式,分割成多个子字符串,需要用得到的是split() 方法。 spilt()将一个字符串按照指定的分隔符切分成多个子串,这些子串会被保存到列表中( 不包含分隔符 ) 作为方法的返回值反馈回来。基本语法格式如下: str.split(sep,maxsplit) 1、str:表示要进行分割的字符串; 2、sep:用于指定分隔符,可以包含多个字符。此参数默认为 None,表示所有空字符,包括空格、换行符“\n”、制表符“\t”等。 3、maxsplit:可选参数,用于指定分割的次数,最后列表中子串的个数最多为 maxsplit+1。如果不指定或者指定为 -1

Linux 特殊字符、符号

人走茶凉 提交于 2019-11-28 19:50:37
特殊符号: 箭头表示数据的流向 >或1 > 输出重定向,把前边输出的内容输入到后边的内容中,会覆盖已有内容;(1标准输出) echo ‘hello world!’> a.txt >>或1>> 追加输出重定向,在已有内容后追加所需内容 echo ‘hello world!’>> a.txt 0<或< 输入重定向:用于改变命令的输入,后边指定输入的内容,前边指定文件名(0标准输入) [root@msi test]# cat a.txt 1 2 3 4 root@msi test]# xargs -n 2 <a.txt 1 2 3 4 0<<或<< 追加输入重定向:后跟字符串,用来表示“输入结束” cat >> a.txt<<EOF hello world! EOF 2> 错误重定向:把错误信息追加到后边文件中,会删除原有文件内容(2错误输出) 2>> 错误追加重定向:把错误信息追加到后边文件中,不会删除原有文件 [root@msi test]# echo qdsadqwd >> a.txt [root@msi test]# cat a.txt qdsadqwd [root@msi test]# ech qdsadqwd &>> a.txt [root@msi test]# cat a.txt qdsadqwd -bash: ech: command not found [root

web测试点总结

时间秒杀一切 提交于 2019-11-28 15:18:31
输入框 字符型输入框 字符型输入框:英文全角、英文半角、数字、空或者空格、特殊字符“~!@#¥%……&*?[]{}”特别要注意单引号和&符号。禁止直接输入特殊字符时,使用“粘贴、拷贝”功能尝试输入 长度检查:最小长度、最大长度、最小长度-1、最大长度+1、输入超多的字符比如把整个文章拷贝过去 空格检查:输入的字符间有空格、字符前有空格、字符后有空格、字符前后有空格 多行文本框输入:允许回车换行、保存后再显示能够保存输入的格式、仅输入回车换行,检查能否正确保存(若能,检查保存结果,若不能,查看是否有正常提示) 安全性检查:输入特殊字符串 (null,NULL, ,javascript,<script>,</script>,<title>,<html>,<td>)、输入脚本函数(<script>alert("abc")</script>)、doucment.write("abc")、<b>hello</b>) 数值型输入框 边界值:最大值、最小值、最大值+1、最小值-1 位数:最小位数、最大位数、最小位数-1、最大位数+1、输入超长值、输入整数 异常值、特殊字符:输入空白(NULL)、空格或"~!@#$%^&*等可能导致系统错误的字符、禁止直接输入特殊字符时,尝试使用粘贴拷贝查看是否能正常提交、word中的特殊功能,通过剪贴板拷贝到输入框,分页符,分节符类似公式的上下标等