×

正则表达式提取数字

正则表达式提取数字(如何从文本中提取数字)

admin admin 发表于2023-04-06 16:36:59 浏览106 评论0

抢沙发发表评论

本文目录

如何从文本中提取数字

方法有很多,最直接的方法是正则表达式

在Excel中,如果数据非常规范,可以用函数的方法,分列的方法,或者CTRL+E

不管哪种方法,都是要看具体的数据情况

有什么办法可以批量的在链接中提取ip数字

用正则表达式就可以了:

/^(?:(?:2))$/

几乎所有编程语言都支持正则表达式,只要你会写,都可以用上面的正则表达式匹配 IP地址

java怎么利用正则表达式从给定的字符串中取出匹配规则字符串


需要提取车牌号中最后一个数字,比如说:苏A7865提取5,苏A876X提取6

import java.util.regex.Matcher;

import java.util.regex.Pattern;

public class Test {

public static void main(String args) {

String s = “A876X“;


java如何使用正则表达式提取以下字符串的数字


String s = “《td》2747《/td》《td》50.4%《/td》《td》1384《/td》《td》1363《/td》《td》11-10 23:24《/td》“;
Pattern p = Pattern.compile(“(?:《td》)(.*?)(?:《/td》)“);
Matcher m = p.matcher(s);
while(m.find()) {
System.out.println(m.group(1));
}

java如何从任意字符串中截取数字


使用正则表达式可以很方便地从文本中截取数字,下面是详细代码:
class Ideone
{
public static void main (String args) throws java.lang.Exception
{
String phoneString = “哈哈,13888889999“;
// 提取数字
// 1
Pattern pattern = Pattern.compile(“[^0-9]“);
Matcher matcher = pattern.matcher(phoneString);
String all = matcher.replaceAll(““);
System.out.println(“phone:“ + all);
// 2
Pattern.compile(“[^0-9]“).matcher(phoneString).replaceAll(““);
}
}

java正则表达式如何获取字符串中所有匹配内容


java正则表达式提取需要用到Matcher类。

正则规则就是“一个数字加上大于等于0个非数字再加上结束符”

Pattern pattern 

= Pattern.compile(“(\\d)[^\\d]*$“)

Matcher matcher 

= pattern.matcher(s)

if(matcher.find()) 

System.out.println

(matcher.group(1)); } }


java 怎么利用正则表达式从给定的字符串中取出匹配规则字符串


java正则提取需要用到Matcher类,下面给出案例示例供参考
需要提取车牌号中最后一个数字,比如说:苏A7865提取5,苏A876X提取6
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
public static void main(String args) {
String s = “A876X“;
// 把要匹配的字符串写成正则表达式,然后要提取的字符使用括号括起来
// 在这里,我们要提取最后一个数字,正则规则就是“一个数字加上大于等于0个非数字再加上结束符”
Pattern pattern = Pattern.compile(“(\\d)[^\\d]*$“);
Matcher matcher = pattern.matcher(s);
if(matcher.find())
System.out.println(matcher.group(1));
}
}
关于Matcher 中的几个方法说明:
Mathcer.start()
Matcher.end()
Matcher.group()
当使用matches(),lookingAt(),find()执行匹配操作后,就可以利用以上三个方法得到更详细的信息.
start()返回匹配到的子字符串在字符串中的索引位置.
end()返回匹配到的子字符串的最后一个字符在字符串中的索引位置.
group()返回匹配到的子字符串
示例代码如下,具体功能请参考注释
Pattern p=Pattern.compile(“\d+”);
Matcher m=p.matcher(“aaa2223bb”);
m.find();//匹配2223
m.start();//返回3
m.end();//返回7,返回的是2223后的索引号
m.group();//返回2223
Mathcer m2=p.matcher(“2223bb”);
m2.lookingAt(); //匹配2223
m2.start(); //返回0,由于lookingAt()只能匹配前面的字符串,所以当使用lookingAt()匹配时,start()方法总是返回0
m2.end(); //返回4
m2.group(); //返回2223
Matcher m3=p.matcher(“2223”); //如果Matcher m3=p.matcher(“2223bb”); 那么下面的方法出错,因为不匹配返回false
m3.matches(); //匹配整个字符串
m3.start(); //返回0
m3.end(); //返回3,原因相信大家也清楚了,因为matches()需要匹配所有字符串
m3.group(); //返回2223
另外,Mathcer类中start(),end(),group()均有一个重载方法它们是start(int i),end(int i),group(int i)专用于分组操作,Mathcer类还有一个groupCount()用于返回有多少组.
示例如下:

Pattern p=Pattern.compile(“([a-z]+)(\d+)”);
Matcher m=p.matcher(“aaa2223bb”);
m.find(); //匹配aaa2223
m.groupCount(); //返回2,因为有2组
m.start(1); //返回0 返回第一组匹配到的子字符串在字符串中的索引号
m.start(2); //返回3
m.end(1); //返回3 返回第一组匹配到的子字符串的最后一个字符在字符串中的索引位置.
m.end(2); //返回7
m.group(1); //返回aaa,返回第一组匹配到的子字符串
m.group(2); //返回2223,返回第二组匹配到的子字符串
注意: 只有当匹配操作成功,才可以使用start(),end(),group()三个方法,否则会抛出java.lang.IllegalStateException,也就是当matches(),lookingAt(),find()其中任意一个方法返回true时,才可以使用。
转载自
http://zhidao.baidu.com/link?url=k2Odn5gavn2rQjstEvvBR_UK3vsu0SZaq8bIUiBisgME6p9XJnfpSFgbmT5TXTZPGg1L-H-TyW0C3axT1IHrPZMvjM2ePqADrPf1_qw19fq

java怎么从字符串中,提取第一组数字


Java语言正则表达式:(表)[^\\d\r\n]*?(\\d+)[^\r\n]*?
下面是取出表后第一组数字的Java程序:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class TT {
public static void main(String args) {
String s=“表15dfsdaf33\r\n表abcd15def\r\n表 15 哈哈abc22\r\n表*#A$!@&@!15$#@432$+_“;
String regex=“(表)[^\\d\r\n]*?(\\d+)[^\r\n]*?“;
Pattern p=Pattern.compile(regex);
Matcher m=p.matcher(s);
while(m.find()){
System.out.println(m.group(1)+m.group(2));
}
}
}

Java正则表达式截取固定长度的数字比如: 检查情况通报[2013] 1号 提取2013


代码如下:

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class App30 {
public static void main(String args) {

String text = “检查情况通报 1号“;

Pattern pattern = Pattern.compile(“\\[(\\d+?)\\]“);

Matcher matcher = pattern.matcher(text);

if (matcher.find()) {
System.out.println(matcher.group(1));
}
}
}

运行结果:
2013