java 表达式匹配

标签 java regex

我正在编写代码来替换某些表达式,如下所示

    Scanner sc = new Scanner(System.in);
    String str = sc.nextLine();

    str=str.replaceAll("http\\S+", "URL ");  //used answer given
    System.out.println(str);

我正在提供意见

iCloud 通过 @cnet 达到 2000 万用户 http://www.google.com/HTpUTBFK

并且想要输出

英文网址英文@cnet

但是我得到

iCloud 拥有 2000 万用户 URL @cnet

之后我想修改为

ENGLISH URL @cnet

修改将句子中不跟随特殊字符(如#、%、@等)的所有部分更改为英语。

最佳答案

如果您想要替换网址,则正则表达式可以更简单:

http\\S+

仅此而已!

它扫描http,然后扫描它能找到的所有非空格。它停在第一个空格处。

为了安全起见并避免出现某些以 h​​ttp 开头的单词,您可以使正则表达式更长一些,更安全:

'http://\\S+'

关于java 表达式匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39115495/

相关文章:

java - 使用Java在android studio中查询firebase数据库

android - 获取android中html的所有元素和值

c# - 如何将正则表达式组捕获集合与另一个组捕获集合匹配?

java - 带有分隔符 ' -- ' 的正则表达式,没有递归

c# - 从字符串正则表达式中提取数字

java - 在带有数据库的单元/集成测试中仅加载 Spring Boot 数据/JPA 层

java - Java REST Web 服务情况下的服务详细信息

java - Wicket 面板(对话框)无法正常工作?

java - 更精确地比较相隔两小时的两个日期

regex - bash 从文本行中提取字符串