正则匹配字母开头,包含字母、数字、下划线,长度大于等于6,小于等于15的字符串

本文介绍了如何使用正则表达式在不同编程语言中验证一个字符串,该字符串必须以字母开头,包含字母、数字、下划线,并且长度在6到15个字符之间。示例代码涵盖了Golang、PHP、JavaScript、Java和Ruby等语言,对于编程中字符串验证的场景非常实用。
摘要由CSDN通过智能技术生成

正则匹配字母开头,包含字母、数字、下划线,长度大于等于6,小于等于15的字符串

正则表达式:
^(?=[a-zA-z]+)(?=.\d+.)(?=.[a-z|A-Z]+.)(?=._.)[\d(a-z|A-Z)_]{6,10}$

golang形式:

package main

import (
	"fmt"
	"regexp"
)

func main() {
	str := ""
	matched, err := regexp.MatchString("^(?=[a-zA-z]+)(?=.*\\d+.*)(?=.*[a-z|A-Z]+.*)(?=.*_.*)[\\d(a-z|A-Z)_]{6,10}$", str)
	fmt.Println(matched, err)
}

PHP匹配:

$str = '';
$isMatched = preg_match('/^(?=[a-zA-z]+)(?=.*\d+.*)(?=.*[a-z|A-Z]+.*)(?=.*_.*)[\d(a-z|A-Z)_]{6,10}$/', $str, $matches);
var_dump($isMatched, $matches);

JS(JavaScript)匹配

var pattern = /^(?=[a-zA-z]+)(?=.*\d+.*)(?=.*[a-z|A-Z]+.*)(?=.*_.*)[\d(a-z|A-Z)_]{6,10}$/,
	str = '';
console.log(pattern.test(str));

java匹配

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegexMatches {
	
	public static void main(String args[]) {
		String str = "";
		String pattern = "^(?=[a-zA-z]+)(?=.*\\d+.*)(?=.*[a-z|A-Z]+.*)(?=.*_.*)[\\d(a-z|A-Z)_]{6,10}$";

		Pattern r = Pattern.compile(pattern);
		Matcher m = r.matcher(str);
		System.out.println(m.matches());
	}

}

Ruby匹配

pattern = /^(?=[a-zA-z]+)(?=.*\d+.*)(?=.*[a-z|A-Z]+.*)(?=.*_.*)[\d(a-z|A-Z)_]{6,10}$/
str = ''
p pattern.match(str)

python匹配

import re
pattern = re.compile(ur'^(?=[a-zA-z]+)(?=.*\d+.*)(?=.*[a-z|A-Z]+.*)(?=.*_.*)[\d(a-z|A-Z)_]{6,10}$')
str = u''
print(pattern.search(str))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值