Java Web:正則表達(dá)式PPT,例子,正則表達(dá)式的作業(yè),面試題和答案,視頻【詩書畫唱】
導(dǎo)讀(CTRL+F):
1.正則表達(dá)式PPT
2.例子
3.正則表達(dá)式的作業(yè),面試題和答案
正則表達(dá)式PPT













正則表達(dá)式PPT END
例子START

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script>
//定義正則表達(dá)式
//方法1:
var reg1 = new RegExp('a');
//方法2:
var reg2 = /^a$/;
var str = 'px';
// var reg3 = /^ap$/;
// //判斷str字符串是否符合reg3正則表達(dá)式的要求
// var r1 = reg3.test(str);
// console.log(r1);
//?表示出現(xiàn)的次數(shù)是0次或者1次
//*表示出現(xiàn)的次數(shù)是0次或者多次
//+表示出現(xiàn)的次數(shù)是1次或者多次
// var reg4 = /^ka?m$/;
// console.log(reg4.test(str));
// var reg5 = /k(ha)?m/;
// console.log(reg5.test(str));
// var reg6 = /^p[a-z]*x$/;
// //[0-9]表示數(shù)字
// //[A-Z]表示大寫字母
// //[A-Za-z0-9]所有的字母和數(shù)字
// console.log(reg6.test(str));
// var reg7 = /^1(39|59|87|58|37|66)[0-9]{8}$/;
// console.log(reg7.test('13388888888'));
//? ? ? ? ? var reg8 = /^\s+abc$/;
//? ? ? ? ? console.log(reg8.test(' abc'));
? ? ? ? ? ??
//? ? ? ? ? var reg9 = /^uo{2}k$/;
//? ? ? ? ? console.log(reg9.test('uook'));
? ? ? ? ? ??
//? ? ? ? ? var reg10 = /^uf{2,}o$/;
//? ? ? ? ? console.log(reg10.test('uffffffffffffffffffffffffffffffffffffffffffffffo'));
//? ? ? ? ? var reg11 = /^a\Dp$/;
//? ? ? ? ? console.log(reg11.test('a5p'));
? ? ? ? ? ? //exec方法
? ? ? ? ? ? //捕獲
//? ? ? ? ? var reg12 = /([a-z])=(\d)/;? ? ?
//? ? ? ? ? var str1 = 'http://localhost:8080/demo/?a=9';
//? ? ? ? ? //console.log(reg12.test(str1));
//? ? ? ? ? var arr1 = reg12.exec(str1)
//? ? ? ? ? console.log(arr1);
? ? ? ? ? ??
//? ? ? ? ? var reg13 = /lo/;
//? ? ? ? ? var s = 'hello';
//? ? ? ? ? console.log(s.search(reg13));
? ? ? ? ? ??
? ? ? ? ? ? //將s中的指定的字符進(jìn)行替換
? ? ? ? ? ? var s1 = 'banana';
? ? ? ? ? ? var reg14 = /a/;
? ? ? ? ? ? //將s1字符串中的第一個(gè)a替換成@
? ? ? ? ? ? //console.log(s1.replace(reg14,'@'));
? ? ? ? ? ??
? ? ? ? ? ? //找出一個(gè)字符串中連續(xù)出現(xiàn)的四個(gè)數(shù)字
//? ? ? ? ? var s2 = 'gh4444p91';
//? ? ? ? ? var reg15 = /(\d)\1\1\1/;
//? ? ? ? ? console.log(reg15.test(s2));
? ? ? ? ? ??
? ? ? ? ? ? //判斷一個(gè)字符串中是否出現(xiàn)了四個(gè)連續(xù)的相同的小寫字母
? ? ? ? ? ? //var reg16 = /([a-z])\1\1\1/;
? ? ? ? ? ? //console.log(reg16.test('bapwaaaabd'));
? ? ? ? ? ??
? ? ? ? ? ? var regexS = "[\\?&]act=([^&#]*)";
? ? ? ? ? ? var r = /a?/;
? ? ? ? ? ? //在正則表達(dá)式中表示問號(hào)本問?,*,+
? ? ? ? ? ? var r1 = /^\?\*\+/;
</script>
</head>
<body>
</body>
</html>

例子END
正則表達(dá)式的作業(yè),面試題和答案START
1、判斷一個(gè)五位數(shù)字是否是回文數(shù)字。(子表達(dá)式,捕獲,反向引用)12321 56965
2、用js寫一個(gè)函數(shù),判斷字符串是否是這樣組成的:第一個(gè)必須是字母,后面可以是字母、數(shù)字、下劃線,總長度為5-20。如果符合條件返回1,否則返回0。函數(shù)原型:function checkString(str)
3、以下函數(shù)的功能是查詢?yōu)g覽器url中字符串參數(shù),請補(bǔ)全代碼
function parseQueryString(name) {
? ? var regexS = "[\\?&]" + name + "=([^&#]*)";
? ? var regx = new RegExp(regexS);
? ? var rs = regx.exec(http://localhost:8080/demo/?act=admin&pwd=123);
? ? if(rs == null) {
? ? ? ? return “”;
? ? }else{
? ? ? ? return ______________;??
? ? }
}
4、用正則表達(dá)式實(shí)現(xiàn)JS變量命名規(guī)則
5、“我的銀行賬號(hào)是xxxxx,我的電話號(hào)碼是0731-888888”,將這段文本中的區(qū)號(hào)提取出來。
6、從一段文本中找到身份證號(hào)碼,然后將生日提取出來。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script>
//判斷一個(gè)五位數(shù)是否是回文數(shù)字
var num = '12341';
//方法一
//獲取首位和末尾的數(shù)字
var n1 = num.charAt(0);
//alert(n1);
var n2 = num.charAt(num.length - 1);
//alert(n2);
var n3 = num.charAt(1);
var n4 = num.charAt(num.length - 2);
if(n1 == n2 && n3 == n4) {
//alert('是回文數(shù)字');
} else {
//alert('不是回文數(shù)字')
}
//方法二:正則表達(dá)式實(shí)現(xiàn)
//找出字符串中出現(xiàn)的四個(gè)連續(xù)的相同的字母
//var reg2 = /([a-zA-Z])\1{3}/;
//alert(reg2.test('1onennncp'));
var reg1 = /(\d)(\d)\d\2\1/;
//alert(reg1.test(num));
//輸入任意位數(shù)的數(shù)字,判斷它是否是一個(gè)回文數(shù)字
//第一個(gè)必須是字母,后面可以是字母、數(shù)字、下劃線,
//總長度為5-20。如果符合條件返回1,否則返回0。
function checkString(str){
//var reg = /^[a-zA-Z]\w{4,19}$/;
// if(reg.test(str)) {
// return 1;
// } else{
// return 0;
? ? ? ? ? ? ? ? return /^[a-zA-Z]\w{4,19}$/.test(str) ? 1 : 0;
}
//alert(checkString('a_33fnep666'));
//?act=admin,&pwd=123
function parseQueryString(name) {
//創(chuàng)建了一個(gè)正則表達(dá)式對象
? ? var regexS = "[\\?&]" + name + "=([^&#]*)";
? ? var regx = new RegExp(regexS);
? ? var rs = regx.exec('http://localhost:8080/demo/?act=admin&pwd=123&sex=男');
? ? if(rs == null) {
? ? ? ? return '';
? ? }else{
? ? ? ? return rs[1];
? ? }
}
//alert(parseQueryString('sex'));
//JS變量命名規(guī)則:必須以數(shù)字字母下劃線和$組成,不能以數(shù)字開頭
var reg2 = /^[a-zA-Z\$_][\w\$]*$/;
var s = '我的銀行賬號(hào)是xxxxx,我的電話號(hào)碼是0731-8888888';
var reg3 = /(0\d{3})\-\d{7}/;
var res = reg3.exec(s);
//console.log(res[1]);
var sr = '我的身份證號(hào)碼是430108198712310014。';
var reg4 = /\d{6}(\d{8})\d{4}/;
alert(reg4.exec(sr)[1]);
</script>
</head>
<body>
</body>
</html>
