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

如何从输入模式如下的java字符串输入中提取正整数和负整数?

从输入模式如下的Java字符串输入中提取正整数和负整数可以通过正则表达式来实现。以下是一个示例代码:

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

public class NumberExtractor {
    public static void main(String[] args) {
        String input = "abc 123 def -456 ghi 789";
        List<Integer> positiveIntegers = extractPositiveIntegers(input);
        List<Integer> negativeIntegers = extractNegativeIntegers(input);

        System.out.println("Positive Integers: " + positiveIntegers);
        System.out.println("Negative Integers: " + negativeIntegers);
    }

    public static List<Integer> extractPositiveIntegers(String input) {
        List<Integer> positiveIntegers = new ArrayList<>();
        Pattern pattern = Pattern.compile("\\b\\d+\\b");
        Matcher matcher = pattern.matcher(input);

        while (matcher.find()) {
            int number = Integer.parseInt(matcher.group());
            if (number > 0) {
                positiveIntegers.add(number);
            }
        }

        return positiveIntegers;
    }

    public static List<Integer> extractNegativeIntegers(String input) {
        List<Integer> negativeIntegers = new ArrayList<>();
        Pattern pattern = Pattern.compile("-\\b\\d+\\b");
        Matcher matcher = pattern.matcher(input);

        while (matcher.find()) {
            int number = Integer.parseInt(matcher.group());
            negativeIntegers.add(number);
        }

        return negativeIntegers;
    }
}

上述代码中,我们使用了正则表达式来匹配字符串中的正整数和负整数。extractPositiveIntegers方法用于提取正整数,extractNegativeIntegers方法用于提取负整数。通过使用PatternMatcher类,我们可以在字符串中找到匹配正则表达式的数字,并将其转换为整数存储在相应的列表中。

对于输入字符串"abc 123 def -456 ghi 789",上述代码将输出:

代码语言:txt
复制
Positive Integers: [123, 789]
Negative Integers: [-456]

这样,我们就成功地从输入字符串中提取出了正整数和负整数。

请注意,以上代码仅为示例,实际应用中可能需要根据具体需求进行适当的修改和优化。

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

相关·内容

Java 正则表达式用法实例

正整数 + 0) ^[0-9]*[1-9][0-9]*$ :正整数 ^((-\d+)|(0+))$ :非正整数整数 + 0) ^-[0-9]*[1-9][0-9]*$ :整数...{n} n 是一个非整数,匹配确定n 次。 {n,} n 是一个非整数,至少匹配n 次。 {n,m} m n 均为非整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。...非贪婪模式尽可能少匹配所搜索字符串,而默认贪婪模式则尽可能多匹配所搜索字符串。 . 匹配除 \n之外任何单个字符。要匹配包括 \n 在内任何字符,请使用象 [.\n]模式。....*$ 非整数:^\d+$ 正整数:^[0-9]*[1-9][0-9]*$ 非正整数:^((-\d+)|(0+))$ 整数:^-[0-9]*[1-9][0-9]*$ 整数...\d{8} 提取信息中国电话号码(包括移动固定电话):(\(\d{3,4}\)|\d{3,4}-|\s)?

1.2K30

PHP正则表达式笔记与实例详解

分享给大家供大家参考,具体如下: 这里主要介绍如何在PHP使用正则表达式,并附带几个实例. 这两天工作用到了正则表达式,发现自己已经忘记差不多了,囧啊!...笔记: 一、正则表达式介绍:     正则表达式是用于描述字符排列匹配模式一种语法规则。它主要用于字符串模式分割、匹配、查找及替换操作。     1....,仅供大家参考修改使用: "^d+$"  //非整数正整数 + 0) "^[0-9] $"  //正整数 "^((-d+)|(0+))$"  //非正整数整数 + 0) "^-[0-9] $"...sql语句:^(select|drop|delete|create|update|insert).*$ 1、非整数:^d+$ 2、正整数:^[0-9] $ 3、非正整数:^((-d+)|(0+))$...d{8} 31、提取信息中国电话号码(包括移动固定电话):((d{3,4})|d{3,4}-|s)?

1.1K00
  • php正则表达式使用方法整理集合

    平时做网站经常要用正则表达式,下面是一些讲解例子,仅供大家参考修改使用: 匹配数字 “^\d+$”  //非整数(正整数 + 0) “^[0-9]*[1-9][0-9]*$”  //正整数...“^((-\d+)|(0+))$”  //非正整数(整数 + 0) “^-[0-9]*[1-9][0-9]*$”  //整数 “^-?...{n} n 是一个非整数,匹配确定n 次。 {n,} n 是一个非整数,至少匹配n 次。 {n,m} m n 均为非整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。...非贪婪模式尽可能少匹配所搜索字符串,而默认贪婪模式则尽可能多匹配所搜索字符串。 . 匹配除 “\n” 之外任何单个字符。要匹配包括 ‘\n’ 在内任何字符,请使用象 ‘[....1、非整数:^\d+$ 2、正整数:^[0-9]*[1-9][0-9]*$ 3、非正整数:^((-\d+)|(0+))$ 4、整数:^-[0-9]*[1-9][0-9]*$ 5、整数:^-?

    1.5K31

    PHP常用正则表达式大全

    匹配数字   "^\d+$" //非整数(正整数 + 0)   "^[0-9]*[1-9][0-9]*$" //正整数   "^((-\d+)|(0+))$" //非正整数(整数 + 0)   ...{n} n 是一个非整数,匹配确定n 次。   {n,} n 是一个非整数,至少匹配n 次。   {n,m} m n 均为非整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。...非贪婪模式尽可能少匹配所搜索字符串,而默认贪婪模式则尽可能多匹配所搜索字符串。   . 匹配除 "\n" 之外任何单个字符。要匹配包括 ’\n’ 在内任何字符,请使用象 ’[....  1、非整数:^\d+$   2、正整数:^[0-9]*[1-9][0-9]*$   3、非正整数:^((-\d+)|(0+))$   4、整数:^-[0-9]*[1-9][0-9]*$   5...\d{8}   31、提取信息中国电话号码(包括移动固定电话):(\(\d{3,4}\)|\d{3,4}-|\s)?

    2.6K80

    常用正则表达式

    搜索模式可用于文本搜索和文本替换。 ---- 什么是正则表达式? 正则表达式是由一个字符序列形成搜索模式。 当你在文本搜索数据时,你可以用搜索模式来描述你要查询内容。...9]d*$    //匹配正整数 ^-[1-9]d*$   //匹配整数 ^-?...[1-9]d*$   //匹配整数 ^[1-9]d*|0$  //匹配非整数正整数 + 0) ^-[1-9]d*|0$   //匹配非正整数整数 + 0) ^[1-9]d*.d*|0.d*[1-...$” 只能输入有1-3位小数正实数:“^[0-9]+(.[0-9]{1,3})?$” 只能输入非零正整数:“^+?...[1-9][0-9]*$” 只能输入非零整数:“^-[1-9][0-9]*$” 只能输入长度为3字符:“^.{3}$” 只能输入由26个英文字母组成字符串:“^[A-Za-z]+$” 只能输入

    1.4K30

    版本号正则表达式-常见正则表达式大全

    [1-9]d*$ //匹配整数   ^[1-9]d*|0$ //匹配非整数正整数 + 0)   ^-[1-9]d*|0$ //匹配非正整数整数 + 0)   ^[1-9]d.d|0.d[1-9].../匹配由数字、26个英文字母或者下划线组成字符串   在使用   idator验证控件时验证功能及其验证表达式介绍如下:   只能输入数字:“^[0-9]*$”   只能输入n位数字:“^d{n}...$”   只能输入有1-3位小数正实数:“^[0-9]+(.[0-9]{1,3})?$”   只能输入非零正整数:“^+?...1-9*$”   只能输入非零整数:“^-1-9*$”   只能输入长度为3字符:“^.{3}$”   只能输入由26个英文字母组成字符串:“^[A-Za-z]+$”   只能输入由26个大写英文字母组成字符串...}   }   (4)应用:URL地址中提取文件名程序   s="9499.net/page1.htm";   s=s.(/(./){0,}(2+).

    83540

    常用JavaScript验证正则表达式

    $    //匹配正整数 ^-[1-9]d$   //匹配整数 ^-?...[1-9]d$   //匹配整数 ^[1-9]d|0$  //匹配非整数正整数 + 0) ^-[1-9]d|0$   //匹配非正整数整数 + 0) ^[1-9]d.d|0.d[1-9]d$  ...、26个英文字母或者下划线组成字符串 在使用RegularExpressionValidator验证控件时验证功能及其验证表达式介绍如下: 只能输入数字:“^[0-9]$” 只能输入n位数字:“^...$” 只能输入有1-3位小数正实数:“^[0-9]+(.[0-9]{1,3})?$” 只能输入非零正整数:“^+?...[1-9][0-9]$” 只能输入非零整数:“^-[1-9][0-9]$” 只能输入长度为3字符:“^.{3}$” 只能输入由26个英文字母组成字符串:“^[A-Za-z]+$” 只能输入由26

    89920

    常用JavaScript验证正则表达式

    $    //匹配正整数 ^-[1-9]d$   //匹配整数 ^-?...[1-9]d$   //匹配整数 ^[1-9]d|0$  //匹配非整数正整数 + 0) ^-[1-9]d|0$   //匹配非正整数整数 + 0) ^[1-9]d.d|0.d[1-9]d$  ...、26个英文字母或者下划线组成字符串 在使用RegularExpressionValidator验证控件时验证功能及其验证表达式介绍如下: 只能输入数字:“^[0-9]$” 只能输入n位数字:“^...$” 只能输入有1-3位小数正实数:“^[0-9]+(.[0-9]{1,3})?$” 只能输入非零正整数:“^+?...[1-9][0-9]$” 只能输入非零整数:“^-[1-9][0-9]$” 只能输入长度为3字符:“^.{3}$” 只能输入由26个英文字母组成字符串:“^[A-Za-z]+$” 只能输入由26

    79500

    一些常用实用正则表达式

    \d+ 评注:提取ip地址时有用 匹配特定数字: ^[1-9]\d*$    //匹配正整数 ^-[1-9]\d*$   //匹配整数 ^-?...[1-9]\d*$   //匹配整数 ^[1-9]\d*|0$  //匹配非整数正整数 + 0) ^-[1-9]\d*|0$   //匹配非正整数整数 + 0) ^[1-9]\d*\....]+$  //匹配由26个英文字母大写组成字符串 ^[a-z]+$  //匹配由26个英文字母小写组成字符串 ^[A-Za-z0-9]+$  //匹配由数字26个英文字母组成字符串 ^...:(^\s*)|(\s*$) 应用:javascript没有像vbscript那样trim函数,我们就可以利用这个表达式来实现,如下: String.prototype.trim = function...得用正则表达式URL地址中提取文件名javascript程序,如下结果为page1 s="http://www.9499.net/page1.htm" s=s.replace(/(.*\/)

    682100

    一个正则表达式测试(只可输入中文、字母和数字)

    整数(正整数或零) \d+ 正整数 [0-9]*[1-9][0-9]* 整数 -[0-9]*[1-9][0-9]* 整数 -?\d+ 小数 (-?\d+)(\.\d+)?...\d+ 评注:提取ip地址时有用 匹配特定数字: ^[1-9]\d*$    //匹配正整数 ^-[1-9]\d*$   //匹配整数 ^-?...  //正整数  "^((-\\d+)|(0+))$"  //非正整数整数 + 0)  "^-[0-9]*[1-9][0-9]*$"  //整数  "^-?...其作用如下: 测试字符串某个模式。例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式。这称为数据有效性验证。 替换文本。...根据模式匹配字符串提取一个子字符串。可以用来在文本或输入字段查找特定文字。 基本语法 在对正则表达式功能作用有了初步了解之后,我们就来具体看一下正则表达式语法格式。

    5.1K20

    知识总结:常用正则表达式正则表达式

    *$    //匹配正整数 ^-[1-9]d*$   //匹配整数 ^-?...[1-9]d*$   //匹配整数 ^[1-9]d*|0$  //匹配非整数正整数 + 0) ^-[1-9]d*|0$   //匹配非正整数整数 + 0) ^[1-9]d*.d*|0.d*[1-...、26个英文字母或者下划线组成字符串 在使用RegularExpressionValidator验证控件时验证功能及其验证表达式介绍如下: 只能输入数字:“^[0-9]*$” 只能输入n位数字:“...$” 只能输入有1-3位小数正实数:“^[0-9]+(.[0-9]{1,3})?$” 只能输入非零正整数:“^+?...[1-9][0-9]*$” 只能输入非零整数:“^-[1-9][0-9]*$” 只能输入长度为3字符:“^.{3}$” 只能输入由26个英文字母组成字符串:“^[A-Za-z]+$” 只能输入

    97390

    Web阶段:第四章:常用正则表达式

    只能输入非零整数:”^\-[1-9][]0-9″*$。 只能输入长度为3字符:”^.{3}$”。 只能输入由26个英文字母组成字符串:”^[A-Za-z]+$”。...只能输入由数字26个英文字母组成字符串:”^[A-Za-z0-9]+$”。 只能输入由数字、26个英文字母或者下划线组成字符串:”^\w+$”。...\d+ 评注:提取ip地址时有用匹配特定数字:^[1-9]\d*$ //匹配正整数^-[1-9]\d*$ //匹配整数^-?...[1-9]\d*$ //匹配整数^[1-9]\d*|0$ //匹配非整数正整数 + 0)^-[1-9]\d*|0$ //匹配非正整数整数 + 0)^[1-9]\d*\.\d*|0\....^\d+$  // 匹配非整数正整数 + 0)^[0-9]*[1-9][0-9]*$  // 匹配正整数^((-\d+)|(0+))$  // 匹配非正整数整数 + 0)^-[0-9]*[1-9

    38720

    正则表达式匹配身份证 电话号码 邮箱 住宅电话 邮编等

    /d+ 评注:提取ip地址时有用 匹配特定数字: ^[1-9]/d*$ //匹配正整数 ^-[1-9]/d*$ //匹配整数 ^-?.../w+)* 匹配网址URL正则表达式: ^/d+$ //匹配非整数正整数 + 0) ^[0-9]*[1-9][0-9]*$ //匹配正整数 ^((-/d+)|(0+))$ //匹配非正整数整数...[/w-]+)+$ "^/d+$" //非整数正整数 + 0) "^[0-9]*[1-9][0-9]*$" //正整数 "^((-/d+)|(0+))$" //非正整数整数 + 0) "^-[0.../d{7,14}     提取信息中国邮政编码:[1-9]{1}(/d+){5}     提取信息中国身份证号码:/d{18}|/d{15}     提取信息整数:/d+     提取信息浮点数...提取信息中文字符串:[/u4e00-/u9fa5]*     提取信息双字节字符串 (汉字):[^/x00-/xff]*

    1.3K40

    史上最全正则表达式-匹配中英文、字母和数字

    : ^[1-9]d*$    //匹配正整数 ^-[1-9]d*$   //匹配整数 ^-?...[1-9]d*$   //匹配整数 ^[1-9]d*|0$  //匹配非整数正整数 + 0) ^-[1-9]d*|0$   //匹配非正整数整数 + 0) ^[1-9]d*.d*|0.d*...w+$  //匹配由数字、26个英文字母或者下划线组成字符串 26、在使用RegularExpressionValidator验证控件时验证功能及其验证表达式介绍如下: 只能输入数字:“^[0-9...$” 只能输入有1-3位小数正实数:“^[0-9]+(.[0-9]{1,3})?$” 只能输入非零正整数:“^+?...[1-9][0-9]*$” 只能输入非零整数:“^-[1-9][0-9]*$” 只能输入长度为3字符:“^.{3}$” 只能输入由26个英文字母组成字符串:“^[A-Za-z]+$” 只能输入

    54.6K75

    一个正则表达式测试(只可输入中文、字母和数字)

    整数(正整数或零) \d+ 正整数 [0-9]*[1-9][0-9]* 整数 -[0-9]*[1-9][0-9]* 整数 -?\d+ 小数 (-?\d+)(\.\d+)?...\d+ 评注:提取ip地址时有用 匹配特定数字: ^[1-9]\d*$    //匹配正整数 ^-[1-9]\d*$   //匹配整数 ^-?...[1-9]\d*$   //匹配整数 ^[1-9]\d*|0$  //匹配非整数正整数 + 0) ^-[1-9]\d*|0$   //匹配非正整数整数 + 0) ^[1-9]\d*\....其作用如下: 测试字符串某个模式。例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式。这称为数据有效性验证。 替换文本。...根据模式匹配字符串提取一个子字符串。可以用来在文本或输入字段查找特定文字。 基本语法 在对正则表达式功能作用有了初步了解之后,我们就来具体看一下正则表达式语法格式。

    5.6K61

    15 Python 基础: 程序猿必懂知识之正则表达式

    比如判断一个字符串是否是合法Email地址,虽然可以编程提取@前后子串,再分别判断是否是单词域名,但这样做不但麻烦,而且代码难以复用。...因为正则表达式也是用字符串表示,所以,我们要首先了解如何用字符来描述字符。 在正则表达式,如果直接给出字符,就是精确匹配。...函数 re.match 尝试字符串起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。...比如:^(\d{3})-(\d{3,8})$分别定义了两个组,可以直接匹配字符串提取出区号本地号码: >>> m = re.match(r'^(\d{3})-(\d{3,8})$', '010-...匹配非正整数整数+0) ^-1-9\d*|0$ 匹配正浮点数

    88020
    领券