如何匹配由空格分隔的数字直到行尾?

时间:2017-06-25 12:43:23

标签: java regex

我想接受一个数字输入,每个数字后跟一个空格,直到行尾。我想接收所有这些数字并将其存储在一个数组中。如何使用正则表达式实现此目的?

输入:4 5 6 7 9 8

输出:arr = [4,5,6,7,9,8]

String list = scan.nextLine();
Pattern pattern = Pattern.compile(Regex);
String[] matchRegex = pattern.split(list);

2 个答案:

答案 0 :(得分:2)

您可以像以下一样使用空格分割:

import scrapy
from scrapy.linkextractors import LinkExtractor
from scrapy.spiders import CrawlSpider, Rule
from loginform import fill_login_form
from harvest.items import HarvestItem


class TestSpider(Spider):
    name = 'test'
    allowed_domains = ['testdomain.secure.force.com', 'login.salesforce.com']
    login_url = 'https://testdomain.secure.force.com/jSites_Home'
    login_user = 'someuser'
    login_password = 'p4ssw0rd'

    def start_requests(self):
        yield scrapy.Request(self.login_url, self.parse_login)

    def parse_login(self, response):
        data, url, method = fill_login_form(response.url, response.body, self.login_user, self.login_password)
        return scrapy.FormRequest(url, formdata=dict(data), method=method, callback=self.get_assignments)

    def get_assignments(self, response):
        assignment_selector = response.xpath('//*[@id="nav"]/ul/li/a[@title="Assignments"]/@href')
        return Request(urljoin(response.url, assignment_selector.extract()), callback=self.parse_item)

    def parse_item(self, response):
        items = HarvestItem()
        items['startdatum'] = response.xpath('(//*/table[@class="detailList"])[2]/tbody/tr[1]/td[1]/span/text()')\
            .extract()
        return items

regex demo

答案 1 :(得分:2)

您的Regex需要与分隔符号匹配。您使用空格作为分隔符,因此您只需使用空格作为Regex。然后代码如下所示:

Pattern pattern = Pattern.compile(" ");
String[] matchRegex = pattern.split(list);

如果你想要匹配其他空格字符,你也可以使用空白组,它是\s

Pattern pattern = Pattern.compile("\\s");

如果可以有多个空格,您可以使用Regex扩展+,它会匹配“至少一个无限多”。

Pattern pattern = Pattern.compile("\\s+");

您可以使用regex101来测试Regex输入。