最近用了好多正则表达式,都是循规蹈矩的在前面加上^在后面加上$

像这个样子"^[.]\\S+$",但实际上我在eclipse和editplus下都试了一下,不加前缀和后缀也是可以的。

代码如下

import java.util.*;
import java.util.regex.Pattern;
import java.util.regex.Matcher;
class Test1
{
public static void main(String[] args)
{
String str="asdf dsgsdf";
String regx="[\\w]+[\\s]+[\\w]+";
Pattern pat=Pattern.compile(regx);
Matcher mat=pat.matcher(str);
boolean bool=mat.matches();
//String end=mat.replaceAll("");
System.out.println(bool); }
}

运行结果是true。

这样写的话,运行也是true

class Test1
{
public static void main(String[] args)
{
String str="asdf dsgsdf";
String regx="\\w+\\s+\\w+";
Pattern pat=Pattern.compile(regx);
Matcher mat=pat.matcher(str);
boolean bool=mat.matches();
//String end=mat.replaceAll("");
System.out.println(bool); }
}

所以,在以上这种情况下,不加[ ]和()是没有任何问题的。当然,加上也是没有问题的。。

至于为啥都要加两个反斜线\\,首先,\w匹配包括下划线的任何单词字符。等价于'[A-Za-z0-9_]'。

单纯的\w,java是识别不出这个转义的,反斜线\本身需要再转义一下,这样java就能识别出这个转义序列了。

所以,在java中必须要写成\\w,\\s等。

新发现:原来java正则表达式不写^和$也可以运行的更多相关文章

  1. java验证,”支持6-20个字母、数字、下划线或减号,以字母开头“这个的正则表达式怎么写?

    转自:https://yq.aliyun.com/wenzhang/show_96854 问题描述 java验证,”支持6-20个字母.数字.下划线或减号,以字母开头“这个的正则表达式怎么写? 验证” ...

  2. Java 正则表达式详解

    Java 提供了功能强大的正则表达式API,在java.util.regex 包下.本教程介绍如何使用正则表达式API. 正则表达式 一个正则表达式是一个用于文本搜索的文本模式.换句话说,在文本中搜索 ...

  3. Java 正则表达式[转载]

    PS:转载自CSDN博客看上去很美 众所周知,在程序开发中,难免会遇到需要匹配.查找.替换.判断字符串的情况发生,而这些情况有时又比较复杂,如果用纯编码方式解决,往往会浪费程序员的时间及精力.因此,学 ...

  4. Java正则表达式的应用

    在很多种情况下,我们都必须对字符串进行匹配,以便判断字符串的格式是否符合要求,对字符串中的内容进行提取.比如,我要从一段话aabdfe中,判断这段话是否有包含ab这个词,那么如果用if-else来判断 ...

  5. 【转】java正则表达式

    在Sun的Java JDK 1.40版本中,Java自带了支持正则表达式的包,本文就抛砖引玉地介绍了如何使用java.util.regex包. 可粗略估计一下,除了偶尔用Linux的外,其他Linu ...

  6. java正则表达式语法详解及其使用代码实例

    原文地址 译者序(下载代码) 正则表达式善于处理文本,对匹配.搜索和替换等操作都有意想不到的作用.正因如此,正则表达式现在是作为程序员七种基本技能之一*,因此学习和使用它在工作中都能达到很高的效率. ...

  7. JAVA 正则表达式 (超详细)

    (PS:这篇文章为转载,我不喜欢转载的但我觉得这篇文章实在是超赞了,就转了过来,这篇可以说是学习JAVA正则表达的必读篇.作者是个正真有功力的人,阅读愉快) 在Sun的Java JDK 1.40版本中 ...

  8. Java 正则表达式漏洞

    由于工作原因,一直没有时间把在线上遇到的问题总结一下.还好,今天我来了. 废话少说了. 主要说一下“java 正则表达式中的一个漏洞”,详细问题描述 http://bugs.sun.com/bugda ...

  9. java正则表达式应用--验证字符串是否为数字(转载)

    首先说一下java正则表达式的重点概念: 第一.相关类:Pattern.Matcher 第二.典型的调用顺序是 Pattern p = Pattern.compile("a*b") ...

随机推荐

  1. 通过xib文件创建和连接UIView

    使用Xcode写程序,时间长了,对于界面上的元素,很多时候不想手写代码进行构建,但是有些UIView里面的子控件,又不能通过xib直接进行构造,要是总使用UIViewController来结合xib进 ...

  2. [cc150] 硬币问题

    Given an infinite number of quarters (25 cents), dimes (10 cents), nickels (5 cents) and pennies (1 ...

  3. COOKIE漫谈

    cookie概述在上一节,曾经利用一个不变的框架来存储购物栏数据,而商品显示页面是不断变化的,尽管这样能达到一个模拟全局变量的功能,但并不严谨.例如在导航框架页面内右击,单击快捷菜单中的[刷新]命令, ...

  4. js高手

    http://kb.cnblogs.com/page/173798/ http://kb.cnblogs.com/page/121539/ http://blog.jobbole.com/9648/ ...

  5. 1880-A. 偷吃可耻

    描述 EATER买来一堆好吃的,总共N+1份,共(N+1)/2种,每种准备了两份,同种都标上了相同的编号.本来准备与他家吃货一同分享,结果却发现被人偷吃了..EATER发现总数少了一个,所以你的任务就 ...

  6. POJ2301+水~~~~~~

    有比这更水的么.............. #include<stdio.h> int main(){ int n; scanf("%d",&n); while ...

  7. 【Uva 12558】 Egyptian Fractions (HARD version) (迭代加深搜,IDA*)

    IDA* 就是iterative deepening(迭代深搜)+A*(启发式搜索) 启发式搜索就是设计估价函数进行的搜索(可以减很多枝哦~) 这题... 理论上可以回溯,但是解答树非常恐怖,深度没有 ...

  8. [Unity菜鸟] Mecanim 系统遇到的问题

    1. 给角色添加一个Animator组件和New State,运行后,摆出这种奇怪的姿势 这是因为没有把动画片段赋给New State,可以看到此时的New State为空,把Idle片段拖进去就好了 ...

  9. QVariant实质 (类似 C#中的装箱拆箱)

    QVariant是一种可以存储不同类型的数据结构,在很多场合这是很有用得为了达到这种目的,可以想象,该对象应该存储对象的类型信息,数据信息以及其他辅助详细考虑用途,这种对象必须支持对不同对象的存储,对 ...

  10. 对QT的产品,以及QT的一些综合评论 good

    QT你不能说他不流行吧, WPS, Wirshark, KDE, dropbox, skype, virtualbox都和qt有关吧, 你想写个跨平台的C++程序, QT是个不错的选择, 普通PC应用 ...