正则匹配示例

正则的写法不是唯一的 自己找个规则 能匹配就行

   /**
    *  1.
    *  判断一点字符串是手机电话 还是数字串
    */ 
   $agentid  = '222222';
   $search = '/^0?1[3|4|5|6|7|8][0-9]\d{8}$/';
   if ( preg_match( $search, $agentid ) )
   {
         echo ‘为电话’;
   }else {
        echo ‘为数字串’;
   }
   
   /**
    * 2.
    * js 匹配手机号
    */
   if(!(/^0?1[3|4|5|6|7|8][0-9]\d{8}$/.test(account))){
      alert(‘输入正确手机号’);
   }else{
     alert("手机号正确");
   }

  /**
   * 3.
   * 验证身份证(不包含省份验证)
   */
   $str = '/^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/';
   if (!preg_match($str,"123455")){
        echo "请输入正确的身份证号码";
    } 
    #邮箱 : /^[a-z0-9]([a-z0-9_\-.]+)?@([a-z0-9\-]+).([a-z.]+)$/i
    #qq :  /^[1-9][0-9]{4,11}$/
    # ((0[1-9])|(1[0-2]))    判断 1-12月
    # (([0-2][1-9])|10|20|30|31) 判断 1-31号 
    #{n}  n 是一个非负整数。匹配确定的 n 次。例如,'o{2}' 不能匹配 "Bob" 中的 'o',但是能匹配 "food" 中的两个 o。
    #\d{8} 相当于匹配 [0-9] 八次
    
  /**
   * 4.
   *过滤标签
   */
   $content = preg_replace("/<(\/?link.*?)>/si",'',$str);//link
   $content = preg_replace("/<a[^>]*>(.*?)<\/a>/is", ‘’,$str);//a
   #<a[^>]  <a ..... 任意内容....>

  /**
  * 5.
  *  根据<img>标签匹配图片路径
  */
  preg_match_all('/<img[^>]+src=\"([^"]+)\"[^>]{0,}>/is', $str,$Mainmatch);
   //$Mainmatch存放匹配结果 $str匹配内容

/**
  * 6.
  * js 去除前后所有空格
  */
  str.replace(/(^\s*)|(\s*$)/g, "") 
  ^\s* 开始的所有的空白字符
  \s*$ 结束前的所有空字符
  

#备注
//   ^ 匹配输入字符串的开始位置。如果设置了 RegExp 对象的 Multiline 属性,^ 也匹配 '\n' 或 '\r' 之后的位置。
//   $ 匹配输入字符串的结束位置。如果设置了RegExp 对象的 Multiline 属性,$ 也匹配 '\n' 或 '\r' 之前的位置。
//   \s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。
// ’ * ‘匹配前面的子表达式零次或多次
/**
* 7.
*   将<br\>转换成 \r\n
*/
preg_replace("/<(\/?br.*?\/)>/si","\r\n",$str)


/**
 * 8.
 *  匹配一个区间 :比如数字头到数字尾
 */
$agentid  = 'ZYPGV1.1.0.23sdsvc.exe';
preg_match_all("/(\d+)(.*)(?)(\d+)/", $agentid, $Mainmatch);
var_export($Mainmatch[0]);
array ( 0 => '1.1.0.23', );

/**
 * 9.
 * 密码 8-15位 需大小写数字
 */
/(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])[A-Za-z0-9]{8,14}$/
/**
 * 10. 
 * js 字符串切割 以中文逗号切割    引号内的内容不做处理
 */
<script type="text/javascript">
	var str = '111,222,333,444,5555,90,"666,777,88888。",A-';
    var result =[]
    result= str.split(/,|(".+?")/).filter(function(ele){
    	return ele!==''&&ele!==undefined;
    });
    console.log(result);
</script>

如图:
在这里插入图片描述

/**
 * 11. 
 * 根据指定字符获取中间内容
 */
$str ='/uuep-ueoss/sapusp/ssasui/sjaius';
preg_match_all("/[^\/]([a-z0-9\-]+)[^\/]{1}/", $str, $Mainmatch);
# 获取/*****/ 中间值 
# a-z0-9\- (中间值 只定义了 a-z 0-9 和- )
# 如果有其他特殊字符需求可以拼接在里面
var_dump($Mainmatch);

水水的写几个 等想的起来了 (不会的可以私我)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我来举几个 Java 正则表达式的匹配示例。 1. 匹配一个 11 位的手机号码 ```java String patternString = "^1\\d{10}$"; String phoneNumber = "13812345678"; boolean isMatch = Pattern.matches(patternString, phoneNumber); System.out.println(isMatch); // true ``` 在这个示例中,我们使用了正则表达式元字符 `^` 和 `$` 来匹配字符串的开头和结尾,确保整个字符串都是一个手机号码。其中,`1` 表示手机号码的开头必须是数字 1,`\d` 表示数字字符,`{10}` 表示数字字符必须出现 10 次,也就是总共有 11 位数字。 2. 匹配一个有效的邮箱地址 ```java String patternString = "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$"; String email = "example@example.com"; boolean isMatch = Pattern.matches(patternString, email); System.out.println(isMatch); // true ``` 在这个示例中,我们使用了正则表达式来匹配邮箱地址的格式。其中,`[a-zA-Z0-9._%+-]+` 表示匹配邮箱地址的用户名部分,`@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}` 表示匹配邮箱地址的域名部分。 3. 匹配一个日期格式为 yyyy-mm-dd ```java String patternString = "^\\d{4}-\\d{2}-\\d{2}$"; String date = "2022-08-15"; boolean isMatch = Pattern.matches(patternString, date); System.out.println(isMatch); // true ``` 在这个示例中,我们使用了正则表达式来匹配日期格式。其中,`\d` 表示数字字符,`{4}` 表示数字字符必须出现 4 次,也就是年份部分;`{2}` 表示数字字符必须出现 2 次,也就是月份和日期部分,中间用 `-` 连接。 以上是一些 Java 正则表达式的匹配示例,具体的正则表达式可以根据实际需求而定。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值