在 Java 中使用 RegEx 验证名字和姓氏

2024-01-28

我正在尝试验证String其中包含一个人的名字和姓氏。可接受的名称格式如下。

Bruce Schneier                  
Schneier, Bruce
Schneier, Bruce Wayne
O’Malley, John F.
John O’Malley-Smith
Cher

我想出了以下程序来验证字符串变量。这validateName函数应该返回true如果名称格式与任何提到的格式匹配。否则它应该返回false.

import java.util.regex.*;

public class telephone {

    public static boolean validateName (String txt){
        String regx = "^[\\\\p{L} .'-]+$";
        Pattern pattern = Pattern.compile(regx, Pattern.CASE_INSENSITIVE);
        Matcher matcher = pattern.matcher(txt);
        return matcher.find();

    }

    public static void main(String args[]) {

        String name = "Ron O’’Henry";

        System.out.println(validateName(name));

    }
}

但由于某种原因,它又回来了false对于任何值。我在这里做错了什么?


用这个:

^[\p{L}\s.’\-,]+$

Demo: https://regex101.com/r/dQ8fK8/1 https://regex101.com/r/dQ8fK8/1

解释:

  1. The biggest你遇到的问题是' and 是不同的。您只能通过从文本中复制粘贴来实现该字符。
  2. Use \-代替- in []因为它会被误认为是一个范围。例如:[a-z]
  3. 您可以使用\s代替用于匹配任何空格。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Java 中使用 RegEx 验证名字和姓氏 的相关文章

  • 以编程方式将 PEM 证书导入 Java KeyStore

    我有一个由两个文件 crt 和 key 组成的客户端证书 我希望将其导入到 java KeyStore 中 然后在 SSLContext 中使用 以通过 Apache 的 HTTPClient 发送 HTTP 请求 但是 我似乎找不到一种以
  • Spring webflow 应用程序:HTTP 302 暂时移动

    我的 java 应用程序中的每个请求都会生成另外 2 个带有 HTTP 302 错误的请求 例如 如果请求查看名为板 html 这个请求是从首页 html 我收到按以下顺序生成的 3 个请求 POST home html 302 Moved
  • JUnit Eclipse 显示 System.out.print() 的

    我正在使用 JUnit 3 和 Eclipse 3 4 当我运行 JUnit 测试用例时 一切正常并且测试完美完成 唯一的事情是我想查看我正在运行的类的输出 所有类都具有一些输出值的基本 System out print 因此 当我运行测试
  • 如何在 OpenAPI 3.0 中定义字节数组

    我正在将 API 从 Swagger 2 0 迁移到 OpenAPI 3 0 在 DTO 中 我有一个指定为字节数组的字段 Swagger 对 DTO 的定义 Job type object properties body type str
  • 如何正确配置Tomcat SSLHostConfig?

    我正在按照本教程在 tomcat 中启用 ssl https medium com raupach how to install lets encrypt with tomcat 3db8a469e3d2 https medium com
  • 业务代表与服务定位器

    Business Delegate 和 Service Locator 之间有什么区别 两者都负责封装查找和创建机制 如果 Business Delegate 使用 Service Locator 来隐藏查找和创建机制 那么 Busines
  • Maven 多模块项目结构问题

    自从过去几周构建我的 Maven 多模块项目以来 这是我的一次有趣的经历 当我决定使用 Maven 进行构建生命周期管理时 我有几个原因希望选择 Maven A 大多数开发团队都是分开的 这样每个团队都可以在项目中的单独模块上工作 例如团队
  • 在 Spring 中设置 WS https 调用超时 (HttpsUrlConnectionMessageSender)

    我正在尝试为 WS 调用设置超时 我延长了WebServiceGatewaySupport并尝试将发送者超时设置为如下 public Object marshalSendAndReceive Object requestPayload We
  • LibGdx 如何使用 OrthographicCamera 滚动?

    我已经找了 10 个小时 字面意思 我已经完成了 我需要问一下 事情是我正在学习如何使用 LibGdx 来编写 Java 游戏 我正在做一个水平太空飞船游戏 所以 我最糟糕的问题是我不知道如何滚动 我认为绘制会更好地解释 我想绘制一个巨大的
  • Vertx HttpClient getNow 不工作

    我的 vertx HttpClient 有问题 下面的代码显示使用 vertx 和纯 java 测试 GET Vertx vertx Vertx vertx HttpClientOptions options new HttpClientO
  • java JFileChooser 文件大小过滤器

    我知道我可以按文件类型进行过滤 但是可以按文件大小进行过滤吗 例如 JFileChooser 仅显示 3 MB 以内的图片 简短的回答应该是 你尝试过什么 长答案是肯定的 JFileChooser fc new JFileChooser f
  • Android - 从服务器获取响应时验证 JSON 以避免 JSONException

    在我的一些与服务器通信并使用 http 获取响应的应用程序中 我使用 json 来格式化数据服务器端 当它到达设备时 我使用类似于我在 stackoverflow 上找到的代码 private class LoadData extends
  • .class 与 .java

    class 文件和 java 文件有什么区别 我正在尝试让我的小程序工作 但目前我只能在 Eclipse 中运行它 还不能嵌入 HTML 谢谢 编辑 那么如何使用 JVM 进行编译呢 class 文件是编译后的 java 文件 java 都
  • 嵌入式 tomcat 7 servlet 3.0 注释不起作用

    我有一个精简的测试项目 其中包含 Servlet 版本 3 0 用注释声明 如下所示 WebServlet test public class TestServlet extends HttpServlet private static f
  • 字节码和位码有什么区别[重复]

    这个问题在这里已经有答案了 可能的重复 LLVM 和 java 字节码有什么区别 https stackoverflow com questions 454720 what are the differences between llvm
  • RMI 服务器:rmiregistry 或 LocateRegistry.createRegistry

    对于服务器端的RMI 我们需要启动吗rmiregistry程序 或者只是调用LocateRegistry createRegistry 如果两者都可以的话 各有什么优点和缺点 他们是同一件事 rmiregistry是一个单独的程序 您可以从
  • java中的比较器链

    正在阅读Oracle 关于接口的 Java 教程 https docs oracle com javase tutorial java IandI createinterface html其中给出了一个例子Card 打牌 我试图理解接口中的
  • Android同步onSensorChanged?

    这是我的问题的后续 Android线程可运行性能 https stackoverflow com questions 36395440 android thread runnable performance 我在理解应用程序的同步方法时遇到
  • Java 9 中紧凑字符串和压缩字符串的区别

    有什么优点紧凑的字符串 http openjdk java net jeps 254JDK9 中的压缩字符串 压缩字符串 Java 6 和紧凑字符串 Java 9 都有相同的动机 字符串通常实际上是 Latin 1 因此浪费了一半的空间 和
  • 如何使用 Spring AOP 建议静态方法?

    在执行类的静态方法之前和之后需要完成一些日志记录 我尝试使用 Spring AOP 来实现这一点 但它不起作用 而对于正常方法来说它起作用 请帮助我理解如何实现这一点 如果可以使用注释来完成 那就太好了 也许您应该在使用 Spring AO

随机推荐

  • 查找正则表达式的补集

    我的练习单上有一道题是求两个公式的补集 1 aa bb and 2 a b aa bb a b 我认为两者是互补的a b 仅表示a的或仅b s 您需要完成通常的程序 将正则表达式转换为 NFA 将 NFA 转换为 DFA 对于简单的情况 很
  • Web 身份验证状态 - Session 与 Cookie?

    逐页验证和跟踪用户身份验证状态的最佳方法是什么 有人说会话状态 有人说cookies 我可以只使用一个具有用户 ID 的会话变量 并在身份验证后 实例化一个具有用户信息的自定义用户类吗 然后 在每个页面上 验证会话变量是否仍处于活动状态并从
  • RecyclerView SCROLL_STATE_IDLE 被延迟调用

    在 RecyclerView 上addOnScrollListener该财产SCROLL STATE IDLE在项目大小结束时以及向上滚动到 RecyclerView 顶部时需要一些时间来调用 但在滚动过程中效果很好 布局的根视图是Coor
  • 缩短 NetBeans IDE 中 Google Test 测试用例的构建时间

    我在用谷歌测试 http code google com p googletest1 7 0 英寸NetBeans 集成开发环境 https netbeans org features7 3 1 在 Microsoft Windows 7
  • Laravel 5 与 entrust - hasRole 不起作用

    我有一个登录用户 这里的代码有效 if Auth check Logged in as Auth user gt firstname Auth user gt lastname endif 我正在使用 zizaco entrust 一切正常
  • ListView 虚拟化值在回收模式下重复

    我对启用虚拟化的 ListView 控件有一个奇怪的问题 我创建了一个非常小的试点应用程序来重现该问题 当我在列表视图中的几个文本框中输入内容然后向下滚动时 几页后 输入的值会在下面未触及的文本框中重复 这是窗口的 XAML
  • 为什么 const_cast 需要声明你要转换的内容?

    根据标准 5 2 11 const cast 会丢弃 cv 限定符 const 或 volatile 这是一个简单的例子 首先声明两个带有指针和引用的函数 class Bar void foo ptr Bar void foo ref Ba
  • 如何使用 QStyledItemDelegate 绘制()

    我正在使用 PySide2 但找不到任何有关如何在 QStyledItemDelegate 子类中使用 Paint 函数的文档 我对课程相当陌生 但到目前为止可以理解 但在使用 PySide2 时遇到问题 I would like to r
  • 使用 Android API (com.google.android.gms.drive.DriveApi) 设置云端硬盘文件的权限

    我正在使用 Drive Android API com google android gms drive DriveApi 创建一个应用程序来在 Google Drive 上上传 下载 共享文件 这是我关注的示例代码的 URL https
  • Android:检测时钟分钟变化的监听器

    我正在考虑如何实现一个侦听器来检测手机上的时间流逝情况 1 处理程序 2 报警管理器 3 自己的线程的事情 我希望我的应用程序在时钟变化的每一分钟运行特定的代码 重要的是在我的手机上的分钟变化的同时触发 否则我只会使用等待 60000 的线
  • 过滤 Ansible 动态清单中的多个标签

    我想我已经看到了这个问题的答案某处 不过现在好像找不到了 我正在创建一个动态development我的 EC2 实例的清单文件 我想将所有标记为的实例分组Stack Development 此外 我想具体指出开发 API 服务器 那些不仅会
  • 在 Laravel 中解码并移动 Base64 编码的图像

    我正在尝试在 laravel 中使用 dropzone js 实现与其他表单元素的图像上传 到目前为止 我已经成功地使用其他表单元素显示拖放图像上传视图 还可以从提交的表单中获取 POST 详细信息 但是 当 dropzone 将上传的图像
  • 将 ExpressionVisitor 与 EF Core Include 连接起来

    我有一个ExpressionVisitor我将其添加到 EF Core 中IQueryable
  • 致命错误:调用未定义的函数 utf8_substr() Opencart

    我的网站在过去 2 3 个月内运行良好 但现在显示 500 服务器错误消息 然后我看到了error log文件说 PHP 致命错误 在第 11 行 public html catalog model tool image php 中调用未定
  • 如何在这个 Vue 3 应用程序中使 prop 响应式?

    我一直在使用 Vue 3 和News API https newsapi org 我目前正在研究搜索功能 In App vue I have
  • 当我处理 BatchUpdateException 时,executeBatch() 期间出现 SQLException

    我在这方面遇到了一些麻烦 我试图列出有关在executeUpdate 期间失败的查询的一些数据 并且我读到可以捕获BatchUpdateException 然后获取updateCount 它告诉您哪些查询有效 哪些无效 但是当查询因以下原因
  • SQL Oracle rownum 在多个where 子句上?

    select from MYTABLE t where EQUIPMENT KEYBOARD and ROWNUM lt 2 or EQUIPMENT MOUSE and ROWNUM lt 2 or EQUIPMENT MONITOR a
  • RecyclerView 在 ConstraintLayout 中将其下面的按钮推出屏幕

    我正在尝试设置一个布局 其中一个 X 按钮固定在屏幕顶部 然后两个元素在视图中居中 第一个是回收器视图 然后是固定在回收器视图下方的一个用于表单提交的按钮 我目前使用的布局直到回收器视图超出其范围 然后提交按钮被推到视图边界下方 并且回收器
  • d3 路径渐变描边

    您好 我正在使用 d3 对角线图 并且想向链接我的圆圈的路径添加渐变 我正在生成我的树 var width 800 height 700 element html var color d3 interpolateLab 008000 c83
  • 在 Java 中使用 RegEx 验证名字和姓氏

    我正在尝试验证String其中包含一个人的名字和姓氏 可接受的名称格式如下 Bruce Schneier Schneier Bruce Schneier Bruce Wayne O Malley John F John O Malley S