首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java,确保String只包含字母数字,空格和短划线

在Java中,可以使用正则表达式来检查一个字符串是否只包含字母、数字、空格和短划线。以下是一个示例代码:

代码语言:java
复制
import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class Main {
    public static void main(String[] args) {
        String input = "This-is a string 123";
        String regex = "^[a-zA-Z0-9\\s-]+$";

        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(input);

        if (matcher.matches()) {
            System.out.println("The input string only contains alphanumeric characters, spaces, and hyphens.");
        } else {
            System.out.println("The input string contains invalid characters.");
        }
    }
}

在这个示例中,我们使用了正则表达式 ^[a-zA-Z0-9\\s-]+$ 来匹配字符串。这个正则表达式的意思是:

  • ^ 表示字符串的开头
  • [a-zA-Z0-9\\s-] 表示允许的字符集,包括大小写字母、数字、空格和短划线
  • + 表示允许一个或多个这样的字符
  • $ 表示字符串的结尾

如果输入字符串符合这个正则表达式,那么它只包含字母、数字、空格和短划线。否则,它包含了一些其他的字符。

在这个示例中,我们使用了 PatternMatcher 类来执行正则表达式匹配。如果匹配成功,我们输出一条消息表示输入字符串符合要求,否则输出另一条消息表示输入字符串不符合要求。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android最简单的限制输入方法(包含数字字母符号)

前言 Android的编辑框控件EditText在平常编程时会经常用到,有时候会对编辑框增加某些限制,如限制只能输入数字,最大输入的文字个数,不能输入一些非法字符等,本文就来给大家介绍了一种最简单的输入限制方法...Github地址,欢迎点赞,fork 今天带来工作中的一个小安利,产品要求对用户名输入需要限制,只能是数字字母,符号,不能包含空格键盘上输入的emoji.开始拿到这个需求,觉得给 EditText...InnerInputConnection(target: InputConnection, mutable: Boolean) : InputConnectionWrapper(target, mutable) { // 数字...,字母 private val pattern = Pattern.compile("^[0-9A-Za-z_]$") // 标点 private val patternChar = Pattern.compile...super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) // demo 中默认 LimitEditText 只能输入字母数字标点符号

3.2K20

Java-正则表达式

“ ” 2、 String toString() —- 无参 3、 static toString() 类似 8、自动装箱拆箱 package learn; import java.util.ArrayList...[A-Za-z]+$ 由26个大写英文字母组成的字符串:^[A-Z]+$ 由26个小写英文字母组成的字符串:^[a-z]+$ 由数字26个英文字母组成的字符串:^[A-Za-z0-9]+$ 由数字、26...个英文字母或者下划线组成的字符串:^\w+或 中文、英文、数字包括下划线:^[\u4E00-\u9FA5A-Za-z0-9_]+$ 中文、英文、数字但不包括下划线等符号:^[\u4E00-\u9FA5A-Za-z0...或 帐号是否合法(字母开头,允许5-16字节,允许字母数字划线):^a-zA-Z{4,15}$ 密码(以字母开头,长度在6~18之间,只能包含字母数字划线):^[a-zA-Z]\w{5,17}$...强密码(必须包含大小写字母数字的组合,不能使用特殊字符,长度在8-10之间):^(?

78020

Java 正则表达式:语法讲解常用表达式汇总

注意:您不能将空格插入逗号和数字之间。 x y [xyz] 字符集。匹配包含的任一字符。例如,”[abc]“匹配”plain”中的”a”。 [ ^xyz] 反向字符集。匹配未包含的任何字符。...例如,”[a-z]”匹配”a”到”z”范围内的任何小写字母。 \d 数字字符匹配。等效于 [0-9]。 \D 非数字字符匹配。等效于 [ ^0-9]。 \w 匹配任何字类字符,包括下划线。...-9]+$ 长度为3-20的所有字符 ^.{3,20}$ 由26个英文字母组成的字符串 ^ [A-Za-z]+$ 由数字、26个英文字母或者下划线组成的字符串 ^\w+$ 或 ^\w{3,20}$ 中文...$ 手机号码 ^(13[0-9] 电话号码 ^((\d{3,4}-) 身份证号(15位、18位数字) ^\d{15} 身份证号码(数字字母x结尾) ^([0-9]){7,18}(x 帐号是否合法(字母开头...,允许5-16字节,允许字母数字划线) ^ [a-zA-Z][a-zA-Z0-9_]{4,15}$ 密码(以字母开头,长度在6~18之间,只能包含字母数字划线) ^ [a-zA-Z]\w{5,17

3.8K20

在Word中使用通配符查询

2任意数字^#任意数字(单个)[0-9]3任意英文字母^$任意英文字母[a-zA-Z]4段落标记^p段落标记^135手动换行符^l手动换行符^l or ^116图形^g or ^1图形^g71/4长划线...^+1/4长划线^q8长划线^j长划线^+9划线^q划线^=10制表符^t制表符^t11脱字号^脱字号^^12分栏符^v分栏符^n or ^1413分节符^b分节符/分页符^m14省略号^n省略号^...^u8195n 到 m 个前一字符或表达式{ n,m }30半角空格^32 or ^u8194所有小写英文字母[a-z]31批注^a or ^5所有大写英文字母[A-Z]32 所有西文字符[^1-^127...^+长划线^+91/4长划线( — )^q1/4长划线( — )^q10划线( – )^=划线( – )^=11脱字号^^脱字号^^12手动分页符^m or ^12手动分页符/分节符^m13可选连字符...使用通配符搜索 选中“使用通配符”复选框后,Word 查找与指定文本精确匹配的文本(请注意,“区分大小写”“全字匹配”复选框会变灰而不可用,表明这些选项已自动选中,您不能关闭这些选项)。

2.4K10

深入理解 Java 变量类型、声明及应用

Java 变量变量是用于存储数据值的容器。在 Java 中,有不同类型的变量,例如:String - 存储文本,例如 "你好"。字符串值用双引号引起来。...以下示例演示如何创建一个用于存储文本的变量:示例:String name = "John";System.out.println(name);以下示例演示如何创建一个用于存储数字的变量:示例:int myNum...标识符所有 Java 变量都必须用独特的名称来标识。这些独特的名称称为标识符。标识符可以是名称(如 x y),也可以是更具描述性的名称(如 age、sum、totalVolume)。...示例:// 优秀int minutesPerHour = 60;// 可以,但不太容易理解 m 实际代表什么int m = 60;命名变量的一般规则:名称可以包含字母数字、下划线和美元符号名称必须以字母开头名称应以小写字母开头...,并且不能包含空格名称也可以以 $ _ 开头名称区分大小写 ("myVar" "myvar" 是不同的变量)保留字 (例如 Java 关键字,如 int 或 boolean) 不能用作名称最后为了方便其他设备和平台的小伙伴观看往期文章

12700

解决Error:invalid character in identifier

在Python中,变量名函数名只能包含字母数字划线,并且不能以数字开头。因此,如果在变量名或函数名中使用了其他字符,就会触发这个错误。...解决方法:检查代码中的变量名函数名,确保它们包含合法字符,并且符合Python的命名规范。...在实际应用中,根据具体的业务需求和数据情况,可能需要进一步修改调整代码。在Python中,变量名函数名的命名规则如下:只能由字母数字划线(_)组成。不能以数字开头。区分大小写。...一般约定使用小写字母划线的组合来命名变量函数,例如​​age​​​​calculate_sum​​。...对于常量,在命名时使用全大写字母划线的组合,例如​​PI​​​​MAX_VALUE​​。

47420

Java零基础入门篇】第 ② 期 - Java语言基础(一)

标识符 定义: Java对各种变量、方法类等命名时使用的字符序列; 技巧: 凡是可以自己起名字的地方都叫标识符; 定义合法标识符的规则: (必须遵守) 以字母、下划线(_)、美元符号($)开头...,后面可以跟任意数目的字母数字、下划线和美元符号; 不可以用关键字保留字,但能包含关键字保留字; 不能以数字开头; 严格区分大小写,长度无限制; 不能包含空格; 例子: identifier...:每个单词的首字母大写,其他字母小写,如 MyJava、Teacher、Student; 变量方法命名:一个或多单词组成,第一个单词全小写,从第二个单词开始每个单词的首字母大写,其他小写,尽量少用下划线...(), 空格 , 圆点....使用变量注意: 先声明,后使用; 使用变量名来访问这块区域(内存)的数据; 变量的作用域:定义变量所包含的一对{}内,变量在作用域内才有效; 同一个作用域内,不能定义重名的变量;

10210

通过分析Github众多前端代码库,总结出来的前端代码书写规范

示例:error-report.html 有复数结构时,要采用复数命名法,例如:脚本,样式,图像,数据模型 文件名中规范小写英文字母az,排序数字09或间隔符-组成,禁止包含特殊符号,某些空格,$等...所有的十六进制值都应该使用小写字母,例如 #fff。因为小写字母有更多样的外形,在浏览文档时,他们能够更轻松的被区分开来。 尽可能使用的十六进制数值,例如使用 #fff 替代 #ffffff。...例如,HTML 头部设置上下的 margin,所以如果需要,设置这两个值。过度使用属性简写往往会导致更混乱的代码,其中包含不必要的重写意想不到的副作用。...class 命名 保持 class 命名为全小写,可以使用划线(不要使用下划线 camelCase 命名)。划线应该作为相关类的自然间断。(例如,.btn .btn-danger)。...涉及iOS的,一律小写第一个,大写后两个字母 常量采用大写字母,下划线连接的方式 构造函数,大写第一个字母 var thisIsMyName;var goodID;var AndroidVersion

1.1K10

一看就懂:正则表达式

aaa\dbbb:aaabbb中间有一个数字 aaa\d\d:aaa后面跟2个数字 注意:在Java定义的正则里,由于一个\表示的是字符串转义,因此在Java定义带有\的元字符时,还需要多写一个...正则:\D \D 表示一个非数字,它上面 \d 的意思恰好相反。 如: \D\D\D: 则表示一个长度为3,不包含数字的字符串。...111\D222:则表示111222中间,必须包含一个非数字。 正则:\w \w 表示一个字母(大小写均可)、数字,或下划线。...如: 12\w45:则表示1245中间必须是一个字母数字,或下划线。 正则:\W \W 与 \w 相反,表示这个位置的字符既不是字母数字,也不是下划线。...也就是:特殊符号(除下划线),或者空格等满足。 如: 12\w45:则表示1245中间是一个非字母,非数字,或非下划线

57920

Java中使用正则表达式

前言 正则在线测试工具 https://c.runoob.com/front-end/854/ Java语言中的正则表达式匹配功能主要是通过java.util.regex.Matcher类以下这些方法实现的...[^abc]: 表示不是a,b,c中的任意一个 [a-zA-Z]: 表示是英文字母 [0-9]: 表示是数字 简洁的字符表示 ....:匹配任意的字符 \d:表示数字 \D:表示非数字 \s:表示由空格组成,[ \t\n\r\x\f] \S:表示由非空字符组成,[^\s] \w:表示字母数字、下划线,[a-zA-Z0-9_] \W:...表示不是由字母数字、下划线组成 \b:匹配一个字边界,即字与空格间的位置。...非贪心的”模式匹配搜索到的、尽可能的字符串,而默认的”贪心的”模式匹配搜索到的、尽可能长的字符串。例如,在字符串”oooo”中,”o+?”匹配单个”o”,而”o+”匹配所有”o”。

82010

IT课程 CSS基础 020_选择器

ID选择器应该确保在文档中是唯一的,不应重复使用相同的ID。 示例: #myID { /* 样式规则 */ } 类选择器(.) 通过元素的类名选择元素。...子元素选择器选择直接子元素,不包括后代。 示例: ul > li { /* 样式规则 */ } 通用兄弟选择器 选择指定元素有相同父元素的所有兄弟元素。...示例: div p, .myClass, #myID { /* 样式规则 */ } 选择器命名规则 选择器的名称必须是字母数字、下划线或连字符组成的字符串。...选择器的名称必须以字母或下划线开头。 选择器的名称不能以数字开头。 选择器的名称不能包含空格。 建议: 使用有意义的名字: 选择器的名字应该能够清晰地反映出所选择元素的作用或用途。...遵循语义化: 使用具有语义化的选择器,以提高代码的可读性维护性。

5200

有必要了解的正则表达式

文本的复杂处理 一种强大而灵活的文本处理工具: 大部分编程语言 、 数据库、文本编辑器、开发环境都支持正则表达式 2、基本语法 2.1、普通字符 字母数字、汉字、下划线、以及没有特殊定义的标点符号...\w 任意一个字母数字或下划线,也就是 A~Z,a~z,0~9,_ 中任意一个 \W 除了字母数字划线外的任一一个字符 \s 包括空格、制表符、换行符等空白字符的其中任意一个 \S 除了空格,...exp) 断言此位置的前面不能匹配表达式exp 3、练习 3.1、电话号码验证 电话号码由数字"-"构成 电话号码为7到8位 如果电话号码中包含有区号,那么区号为三位或四位, 首位是0....、电子邮件地址验证 用户名:字母数字、中划线、下划线组成。...@ 网址:字母数字组成。 小数点:. 组织域名:2-4位字母组成。 不区分大小写 [\w-]+@[0-9a-zA-Z]+(.

72130

这些 grep 常用技巧你都会吗?

正则表达式 \d{3}-\d{2}-\d{4} 表示一个三位数,一个横线,两个两位数一个横线,组成了一个美国社会保险号码的格式。 以下是一些常用的Perl正则表达式案例: 匹配任何字符:....例如,grep -P '\d+' myfile.txt 将匹配任何包含一个或多个数字的行。 匹配字母:\w代表任何字母字符(包括数字划线)。...例如,grep -P '\w+' myfile.txt 将匹配任何包含一个或多个字母字符的行。 匹配空白字符:\s代表任何空格字符(包括空格、制表符换行符)。...例如,grep -P '\d+' myfile.txt 将匹配任何包含一个或多个数字的行。 匹配字母:\w代表任何字母字符(包括数字划线)。...例如,grep -P '\w+' myfile.txt 将匹配任何包含一个或多个字母字符的行。 匹配空白字符:\s代表任何空格字符(包括空格、制表符换行符)。

1.3K40

一天学完spark的Scala基础语法教程十一、正则表达式(idea版本)

> re) 贪婪子表达式 \\w 匹配字母数字或下划线或汉字 \\W 匹配任意不是字母数字,下划线,汉字的字符 \\s 匹配任意的空白符,相等于 [\t\n\r\f] \\S 匹配任意不是空白符的字符...] [a-z] 匹配任何 ASCII 小写字母 [A-Z] 匹配任何 ASCII 大写字母 [a-zA-Z0-9] 匹配数字,大小写字母 [^aeiou] 匹配除了 aeiou 其他字符 [^0-9]...匹配除了数字的其他字符 \\d 匹配数字,类似: [0-9] \\D 匹配非数字,类似: [^0-9] \\s 匹配空格,类似: [ \t\r\n\f] \\S 匹配非空格,类似: [^ \t\r\n\...f] \\w 匹配字母数字,下划线,类似: [A-Za-z0-9_] \\W 匹配非字母数字,下划线,类似: [^A-Za-z0-9_] ruby?...这是因为在 Java Scala 中字符串中的反斜线是转义字符。所以如果你要输出 \,你需要在字符串中写成 \\ 来获取一个反斜线。

1.1K20
领券