- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我用 python 读取 PDF,并想从中提取特定段落。为此,我使用 python 并尝试通过正则表达式进行选择。为了说明这种情况,这里有一个例子。
INTERNATIONAL MONETARY FUND 7\n\x0cBELGIUM\n\n\n\nPOLICY DISCUSSIONS—MAINTAINING THE REFORM\nMOMENTUM\n7. The current recovery is an opportunity to strengthen the resilience and growth\npotential of the Belgian economy. The government's ability to deal with future shocks will depend\non whether it implements the right policies now while the economy continues to recover.\n\n\uf0b7 First, with public debt above 100 percent of GDP and only starting to come down, Belgium still\n has a long way to go to rebuild buffers and achieve a more sustainable fiscal position. This will\n require following through on plans to gradually move toward structural balance.\n\n\uf0b7 Second, with real GDP growth projected at only around 1½ percent for the foreseeable future,\n further labor and product market reforms are needed to increase productivity growth, raise\n potential output, and integrate vulnerable groups into the labor market.\n\n\uf0b7 Third, although the financial sector has recovered since the crisis and is generally sound, cyclical\n vulnerabilities are rising and new challenges are emerging, suggesting the need for vigilance\n and proactive policies.3\n\n8. The government agreed last summer on a new package of measures related to\ntaxation, the labor market, and social benefits (Table 2 and Box 1). The most notable reform was\na reduction in Belgium's corporate income tax (CIT) rate from 34 percent to 25 percent, to be\nphased in over the next three years (SMEs will benefit from a reduced rate of 20 percent starting in\n2018). To compensate for the resulting revenue loss, the notional interest rate deduction (NID) was\nmodified to apply only to incremental corporate equity rather than to the total stock, and new anti-\ntax avoidance measures were introduced consistent with Belgium's EU obligations.4 Together, the\nmeasures are designed to enhance Belgium's competitiveness while preserving revenue neutrality.\n\n9. Policy discussions focused on the importance of maintaining the reform momentum\nand not yielding to complacency. Achieving the balanced budget goal will require efforts at all\nlevels of government to make spending more efficient and safeguard revenues (Section A).\nA combination of policies and reforms could help raise productivity growth, including increasing\ninvestment in infrastructure and enhancing competition in services (Section B). To fully realize\nBelgium's employment potential, it will be critical to address the severe fragmentation of the labor\nmarket (Section C). To preserve financial stability, the authorities should address vulnerabilities in the\nmortgage market and carefully navigate the transition toward a European Banking Union (Section D).\n\n\n\n\n3\n A comprehensive assessment of Belgium's financial sector took place in 2017 under the Financial Sector\nAssessment Program (FSAP).\n4\n The NID aims to neutralize the CIT treatment of debt and equity by supplementing the deductibility of interest with\na deduction that is the product of corporate equity and a notional interest rate.\n\n\n8
每个段落都以一个数字(一位或两位数字)开头,后跟一个点和三到七个空格。末尾由下一个双换行符 \n\n
组成,后跟一个数字(一位或两位数字),最后跟一个点。请注意,这也应该作为下一个起点。在上面的例子中,我应该找到三个段落:
第一段:
- The current recovery is an opportunity to strengthen the resilience and growth\npotential of the Belgian economy. The government's ability to deal with future shocks will depend\non whether it implements the right policies now while the economy continues to recover.\n\n\uf0b7 First, with public debt above 100 percent of GDP and only starting to come down, Belgium still\n has a long way to go to rebuild buffers and achieve a more sustainable fiscal position. This will\n require following through on plans to gradually move toward structural balance.\n\n\uf0b7 Second, with real GDP growth projected at only around 1½ percent for the foreseeable future,\n further labor and product market reforms are needed to increase productivity growth, raise\n potential output, and integrate vulnerable groups into the labor market.\n\n\uf0b7 Third, although the financial sector has recovered since the crisis and is generally sound, cyclical\n vulnerabilities are rising and new challenges are emerging, suggesting the need for vigilance\n and proactive policies.3\n\n
第二段:
- The government agreed last summer on a new package of measures related to\ntaxation, the labor market, and social benefits (Table 2 and Box 1). The most notable reform was\na reduction in Belgium's corporate income tax (CIT) rate from 34 percent to 25 percent, to be\nphased in over the next three years (SMEs will benefit from a reduced rate of 20 percent starting in\n2018). To compensate for the resulting revenue loss, the notional interest rate deduction (NID) was\nmodified to apply only to incremental corporate equity rather than to the total stock, and new anti-\ntax avoidance measures were introduced consistent with Belgium's EU obligations.4 Together, the\nmeasures are designed to enhance Belgium's competitiveness while preserving revenue neutrality.\n\n
最后是第三个:
- Policy discussions focused on the importance of maintaining the reform momentum\nand not yielding to complacency. Achieving the balanced budget goal will require efforts at all\nlevels of government to make spending more efficient and safeguard revenues (Section A).\nA combination of policies and reforms could help raise productivity growth, including increasing\ninvestment in infrastructure and enhancing competition in services (Section B). To fully realize\nBelgium's employment potential, it will be critical to address the severe fragmentation of the labor\nmarket (Section C). To preserve financial stability, the authorities should address vulnerabilities in the\nmortgage market and carefully navigate the transition toward a European Banking Union (Section D).\n\n\n\n\n3\n A comprehensive assessment of Belgium's financial sector took place in 2017 under the Financial Sector\nAssessment Program (FSAP).\n4\n The NID aims to neutralize the CIT treatment of debt and equity by supplementing the deductibility of interest with\na deduction that is the product of corporate equity and a notional interest rate.\n\n
我尝试使用以下正则表达式:r'(?m)[0-99].*[.] {3,7} (.*?)\n\n
从头到尾都有选择一切的推理
(?m)[0-99].*[.] {3,7}
:分别标识每一行的开头。\n\n
指定结束。 但是,它没有找到任何东西。
最佳答案
[0-99]
模式是错误的,因为它匹配 0
中的任何 1 位数字至9
。请参阅Why doesn't [01-12] range work as expected? 。 re.M
( (?m)
) 修改 ^
和$
anchor ,但模式中两者都没有。
您可以使用
r'(?sm)^\d\d?\. {3,7}(.*?)(?=\n\n\d\d?\. |\Z)'
请参阅regex demo .
详细信息
(?sm)
-re.DOTALL
和re.MULTILINE
已启用选项^
- 一行的开头\d\d?
- 1 或 2 位数字( 0
到 99
)\.
- 一个点<code> {3,7}</code> - 3 to 7 spaces (replace with
[^\S\r\n]{3,7}` 匹配任何水平空白)(.*?)
- 第 1 组:任意 0 个以上字符,尽可能少(?=\n\n\d\d?\. |\Z)
- 一个位置,紧跟两个换行符 ( \n\n
),然后是 1 或 2 位数字 ( \d\d?
) 和一个点,后跟空格或 ( |
) 整个字符串的末尾 ( \Z
)。
import re
s="INTERNATIONAL MONETARY FUND 7\n\x0cBELGIUM\n\n\n\nPOLICY DISCUSSIONS—MAINTAINING THE REFORM\nMOMENTUM\n7. The current recovery is an opportunity to strengthen the resilience and growth\npotential of the Belgian economy. The government's ability to deal with future shocks will depend\non whether it implements the right policies now while the economy continues to recover.\n\n\uf0b7 First, with public debt above 100 percent of GDP and only starting to come down, Belgium still\n has a long way to go to rebuild buffers and achieve a more sustainable fiscal position. This will\n require following through on plans to gradually move toward structural balance.\n\n\uf0b7 Second, with real GDP growth projected at only around 1½ percent for the foreseeable future,\n further labor and product market reforms are needed to increase productivity growth, raise\n potential output, and integrate vulnerable groups into the labor market.\n\n\uf0b7 Third, although the financial sector has recovered since the crisis and is generally sound, cyclical\n vulnerabilities are rising and new challenges are emerging, suggesting the need for vigilance\n and proactive policies.3\n\n8. The government agreed last summer on a new package of measures related to\ntaxation, the labor market, and social benefits (Table 2 and Box 1). The most notable reform was\na reduction in Belgium's corporate income tax (CIT) rate from 34 percent to 25 percent, to be\nphased in over the next three years (SMEs will benefit from a reduced rate of 20 percent starting in\n2018). To compensate for the resulting revenue loss, the notional interest rate deduction (NID) was\nmodified to apply only to incremental corporate equity rather than to the total stock, and new anti-\ntax avoidance measures were introduced consistent with Belgium's EU obligations.4 Together, the\nmeasures are designed to enhance Belgium's competitiveness while preserving revenue neutrality.\n\n9. Policy discussions focused on the importance of maintaining the reform momentum\nand not yielding to complacency. Achieving the balanced budget goal will require efforts at all\nlevels of government to make spending more efficient and safeguard revenues (Section A).\nA combination of policies and reforms could help raise productivity growth, including increasing\ninvestment in infrastructure and enhancing competition in services (Section B). To fully realize\nBelgium's employment potential, it will be critical to address the severe fragmentation of the labor\nmarket (Section C). To preserve financial stability, the authorities should address vulnerabilities in the\nmortgage market and carefully navigate the transition toward a European Banking Union (Section D).\n\n\n\n\n3\n A comprehensive assessment of Belgium's financial sector took place in 2017 under the Financial Sector\nAssessment Program (FSAP).\n4\n The NID aims to neutralize the CIT treatment of debt and equity by supplementing the deductibility of interest with\na deduction that is the product of corporate equity and a notional interest rate.\n\n\n8"
for r in re.findall(r'(?sm)^\d\d?\. {3,7}(.*?)(?=\n\n\d\d?\. |\Z)', s):
print(r, "\n---------")
输出:
The current recovery is an opportunity to strengthen the resilience and growth
potential of the Belgian economy. The government's ability to deal with future shocks will depend
on whether it implements the right policies now while the economy continues to recover.
First, with public debt above 100 percent of GDP and only starting to come down, Belgium still
has a long way to go to rebuild buffers and achieve a more sustainable fiscal position. This will
require following through on plans to gradually move toward structural balance.
Second, with real GDP growth projected at only around 1½ percent for the foreseeable future,
further labor and product market reforms are needed to increase productivity growth, raise
potential output, and integrate vulnerable groups into the labor market.
Third, although the financial sector has recovered since the crisis and is generally sound, cyclical
vulnerabilities are rising and new challenges are emerging, suggesting the need for vigilance
and proactive policies.3
---------
The government agreed last summer on a new package of measures related to
taxation, the labor market, and social benefits (Table 2 and Box 1). The most notable reform was
a reduction in Belgium's corporate income tax (CIT) rate from 34 percent to 25 percent, to be
phased in over the next three years (SMEs will benefit from a reduced rate of 20 percent starting in
2018). To compensate for the resulting revenue loss, the notional interest rate deduction (NID) was
modified to apply only to incremental corporate equity rather than to the total stock, and new anti-
tax avoidance measures were introduced consistent with Belgium's EU obligations.4 Together, the
measures are designed to enhance Belgium's competitiveness while preserving revenue neutrality.
---------
Policy discussions focused on the importance of maintaining the reform momentum
and not yielding to complacency. Achieving the balanced budget goal will require efforts at all
levels of government to make spending more efficient and safeguard revenues (Section A).
A combination of policies and reforms could help raise productivity growth, including increasing
investment in infrastructure and enhancing competition in services (Section B). To fully realize
Belgium's employment potential, it will be critical to address the severe fragmentation of the labor
market (Section C). To preserve financial stability, the authorities should address vulnerabilities in the
mortgage market and carefully navigate the transition toward a European Banking Union (Section D).
3
A comprehensive assessment of Belgium's financial sector took place in 2017 under the Financial Sector
Assessment Program (FSAP).
4
The NID aims to neutralize the CIT treatment of debt and equity by supplementing the deductibility of interest with
a deduction that is the product of corporate equity and a notional interest rate.
8
---------
关于python - 使用python通过正则表达式选择文本中的每个段落,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53394296/
我正在用 yacc/bison 编写一个简单的计算器。 表达式的语法看起来有点像这样: expr : NUM | expr '+' expr { $$ = $1 + $3; } | expr '-'
我开始学习 lambda 表达式,并在以下情况下遇到了以下语句: interface MyNumber { double getValue(); } MyNumber number; nu
这两个 Linq 查询有什么区别: var result = ResultLists().Where( c=> c.code == "abc").FirstOrDefault(); // vs. va
如果我们查看 draft C++ standard 5.1.2 Lambda 表达式 段 2 说(强调我的 future ): The evaluation of a lambda-expressio
我使用的是 Mule 4.2.2 运行时、studio 7.5.1 和 Oracle JDK 1.8.0_251。 我在 java 代码中使用 Lambda 表达式,该表达式由 java Invoke
我是 XPath 的新手。我有网页的html源 http://london.craigslist.co.uk/com/1233708939.html 现在我想从上面的页面中提取以下数据 完整日期 电子
已关闭。这个问题是 off-topic 。目前不接受答案。 想要改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 已关闭10 年前。 Improve th
我将如何编写一个 Cron 表达式以在每天上午 8 点和下午 3:30 触发?我了解如何创建每天触发一次的表达式,而不是在多个设定时间触发。提前致谢 最佳答案 你应该只使用两行。 0 8 * * *
这个问题已经有答案了: What do 3 dots next to a parameter type mean in Java? (9 个回答) varargs and the '...' argu
我是 python 新手,在阅读 BeautifulSoup 教程时,我不明白这个表达式“[x for x in titles if x.findChildren()][:-1]”我不明白?你能解释一
(?:) 这是一个有效的 ruby 正则表达式,谁能告诉我它是什么意思? 谢谢 最佳答案 正如其他人所说,它被用作正则表达式的非捕获语法,但是,它也是正则表达式之外的有效 ruby 语法。 在
这个问题在这里已经有了答案: Why does ++[[]][+[]]+[+[]] return the string "10"? (10 个答案) 关闭 8 年前。 谁能帮我处理这个 JavaSc
这个问题在这里已经有了答案: What is the "-->" operator in C++? (29 个答案) Java: Prefix/postfix of increment/decrem
这个问题在这里已经有了答案: List comprehension vs. lambda + filter (16 个答案) 关闭 10 个月前。 我不确定我是否需要 lambda 或其他东西。但是,
C 中的 assert() 函数工作原理对我来说就像一片黑暗的森林。根据这里的答案https://stackoverflow.com/a/1571360 ,您可以使用以下构造将自定义消息输出到您的断言
在this页,John Barnes 写道: If the conditional expression is the argument of a type conversion then effec
我必须创建一个调度程序,它必须每周从第一天上午 9 点到第二天晚上 11 点 59 分运行 2 天(星期四和星期五)。为此,我需要提供一个 cron 表达式。 0-0 0-0 9-23 ? * THU
我正在尝试编写一个 Linq 表达式来检查派生类中的属性,但该列表由来自基类的成员组成。下面的示例代码。以“var list”开头的 Process 方法的第二行无法编译,但我不确定应该使用什么语法来
此 sed 表达式将输入字符串转换为两行输出字符串。两条输出行中的每一行都由输入的子串组成。第一行需要转换成大写: s:random_stuff\(choice1\|choice2\){\([^}]*
我正在使用 Quartz.Net 在我的应用程序中安排我的工作。我只是想知道是否可以为以下场景构建 CRON 表达式: Every second between 2:15AM and 5:20AM 最
我是一名优秀的程序员,十分优秀!