专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »编程综合 » 正则表达式参数:JavaScript 正则表达式使用详细参数 »正文

正则表达式参数:JavaScript 正则表达式使用详细参数

来源: 发布时间:星期日, 2009年9月6日 浏览:58次 评论:0
正则表达式构造: RegExp("pattern"[,"flags"]);
参数介绍说明:
pattern -- 个正则表达式文本
flags -- 如果存在将是以下值:
g: 全局匹配
i: 忽略大小写
gi: 以上组合
在构造些特殊需要进行转意(在特殊前加"\")正则表达式中特殊:
含意
\ 转意即通常在"\"后面不按原来意义解释如/b/匹配"b"当b前面加了反斜杆后/\b/转意为
匹配个单词边界
-或-
对正则表达式功能还原如"*"匹配它前面元0次或多次/a*/将匹配a,aa,aaa加了"\"后/a\*/
将只匹配"a*"
^ 匹配个输入或开头/^a/匹配"an A"而不匹配"An a"
$ 匹配个输入或结尾/a$/匹配"An a"而不匹配"an A"
* 匹配前面元0次或多次/ba*/将匹配b,ba,baa,baaa
+ 匹配前面元1次或多次/ba*/将匹配ba,baa,baaa
? 匹配前面元0次或1次/ba*/将匹配b,ba
(x) 匹配x保存x在名为$1...$9变量中
x|y 匹配x或y
{n} 精确匹配n次
{n,} 匹配n次以上
{n,m} 匹配n-m次
[xyz] 集(character )匹配这个集合中(或元)
[^xyz] 不匹配这个集合中任何
[\b] 匹配个退格符
\b 匹配个单词边界
\B 匹配个单词非边界
\cX 这儿X是个控制符/\cM/匹配Ctrl-M
\d 匹配个字数/\d/ = /[0-9]/
\D 匹配个非字数/\D/ = /[^0-9]/
\n 匹配个换行符
\r 匹配个回车符
\s 匹配个空白包括\n,\r,\f,\t,\v等
\S 匹配个非空白等于/[^\n\f\r\t\v]/
\t 匹配个制表符
\v 匹配个重直制表符
\w 匹配个可以组成单词(alphanumeric这是我意译含数字)包括下划线如[\w]匹配"$5.98"
5等于[a-zA-Z0-9]
\W 匹配个不可以组成单词如[\W]匹配"$5.98"中$等于[^a-zA-Z0-9]

说了这么多了我们来看些正则表达式实际应用例子:
HTML代码屏蔽
function mask_HTMLCode(strInput) {
var myReg = /<(\w+)>/;
strInput.replace(myReg, "<$1>");
}
E-mail地址验证:
function test_email(strEmail) {
var myReg = /^[_a-z0-9]+@([_a-z0-9]+\.)+[a-z0-9]{2,3}$/;
(myReg.test(strEmail)) true;
false;
}

正则表达式对象属性及思路方法:
  预定义正则表达式拥有有以下静态属性:input, multiline, lastMatch, lastParen, leftContext,
rightContext和$1到$9其中input和multiline可以预设置其他属性值在执行过exec或test思路方法后被根据
区别条件赋以区别许多属性同时拥有长和短(perl风格)两个名字并且这两个名字指向同个值(
JavaScript模拟perl正则表达式)
正则表达式对象属性:
属性 含义
$1...$9 如果它(们)存在是匹配到子串
$_ 参见input
$* 参见multiline
$& 参见lastMatch
$+ 参见lastParen
$` 参见leftContext
$''          参见rightContext
constructor    创建个对象个特殊原型
global       是否在整个串中匹配(bool型)
ignoreCase     匹配时是否忽略大小写(bool型)
input        被匹配
lastIndex     最后次匹配索引
lastParen     最后个括号括起来子串
leftContext    最近次匹配以左子串
multiline     是否进行多行匹配(bool型)
prototype     允许附加属性给对象
rightContext    最近次匹配以右子串
source       正则表达式模式
lastIndex     最后次匹配索引
正则表达式对象思路方法:
思路方法 含义
compile      正则表达式比较
exec        执行查找
test        进行匹配
toSource      返回特定对象定义(literal
representing)其值可用来创建个新对象重载Object.toSource思路方法得到
toString      返回特定对象重载Object.toString思路方法得到
valueOf      返回特定对象原始值重载Object.valueOf思路方法得到

例子:
<script language = "JavaScript">
var myReg = /(w+)s(w+)/;
var str = "John Smith";
var str = str.replace(myReg, "$2, $1");
document.write(str);
</script>
将输出"Smith, John"
0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: