正则表达式(python3)

文章目录

  • 正则表达式(python3)
    • match方法
    • search方法
    • 常用匹配符
    • 泽一匹配符(|)和列表
    • 重复数量限定符
    • 原生字符串
    • 边界字符
    • 分组
    • 其他常用函数
      • sub、subn函数
      • compile函数
      • findall函数
      • split函数

正则表达式(python3)

正则表达式是对字符操作的一种逻辑公式,就是用事先定义好的一些特定字符以及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑(可以用来截取或替换操作)

作用

1.给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配")。

2.可以通过正则表达式,从字符串中获取我们想要的特定部分。

3.还可以对目标字符串进行替换操作。

match方法

re.match尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回None。

re.match(pattern,string,flags = 0)

函数参数说明

参数 描述
pattern 匹配的正则表达式
string 要匹配的字符串
flags 标志位,用于控制正则表达式的匹配方式,
例:是否区分大小写,多行匹配等等(可选标志)
修饰符 描述
re.I 使匹配对大小写不敏感
re.L 做本地化识别(localle-aware)匹配
re.M 多行匹配,影响^ $
re.S 匹配包括换行在内的所有字符
re.U 根据Unicode字符集解析字符。影响\w,\W,\b,\B
re.X 该标志给予更灵活的格式
#match方法的使用
import re
s = 'hello python'
pattern = 'Hello'
o = re.match(pattern,s,re.I)
print(re.match(pattern,s))
print(dir(o))#查看当前对象使用了什么方法
print(o.group())#返回匹配的字符串
print(o.span())#匹配字符串的范围
print(o.start())

search方法

re.match(pattern,string,flags = 0)

search函数参数说明

参数 描述
pattern 匹配的正则表达式
string 要匹配的字符串
flags 标志位,用于控制正则表达式的匹配方式,
例:是否区分大小写,多行匹配等等(可选标志)

search与match的区别

re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None,而re.search匹配整个字符串,直到找到一个匹配。

m = 'i love you'
print(re.search('love',m))
print(re.match('love',m))
###################结果#############################
<re.Match object; span=(2, 6), match='love'>
None

常用匹配符

符号 描述
. 匹配任意一个字符(除了\n)
[] 匹配列表中的字符串
\w 匹配字母、数字、下划线(a-z,A-Z,0-9,_)
\W 匹配不是字母,数字,下划线
\s 匹配空白字符,(空格\n\t)
\S 匹配不是空白的字符
\d 匹配数字(0-9)
\D 匹配非数字的字符

部分匹配符测试

#
import re
##########.的使用###############
q = 'a'
w = 'A'
e = '_'
r = '\n'
pattern = '.'
q1 = re.match(pattern,q)
w1 = re.match(pattern,w)
e1 = re.match(pattern,e)
r1 = re.match(pattern,r)
print(q1,'\n',w1,'\n',e1,'\n',r1)
#########\d的使用###########
q = '0123'#由结果看只能匹配一个
w = '5'
e = 'a'
r = ' 9'
pattern = '\d'
q1 = re.match(pattern,q)
w1 = re.match(pattern,w)
e1 = re.match(pattern,e)
r1 = re.match(pattern,r)
print(q1,'\n',w1,'\n',e1,'\n',r1)
##########\s的使用#############
q = ' '
w = '\n'
e = '\t'
r = '_'
pattern = '\s'
q1 = re.match(pattern,q)
w1 = re.match(pattern,w)
e1 = re.match(pattern,e)
r1 = re.match(pattern,r)
print(q1,'\n',w1,'\n',e1,'\n',r1)
##############[]的使用#############
q = '2'
w = '3'
e = '4'
pattern = '[2468]'
q1 = re.match(pattern,q)
w1 = re.match(pattern,w)
e1 = re.match(pattern,e)
print(q1,'\n',w1,'\n',e1)


#################测试结果#########################################

<re.Match object; span=(0, 1), match='a'> 
 <re.Match object; span=(0, 1), match='A'> 
 <re.Match object; span=(0, 1), match='_'> 
 None
<re.Match object; span=(0, 1), match='0'> 
 <re.Match object; span=(0, 1), match='5'> 
 None 
 None
<re.Match object; span=(0, 1), match=' '> 
 <re.Match object; span=(0, 1), match='\n'> 
 <re.Match object; span=(0, 1), match='\t'> 
 None
<re.Match object; span=(0, 1), match='2'> 
 None 
 <re.Match object; span=(0, 1), match='4'>

Process finished with exit code 0

泽一匹配符(|)和列表

import re
#泽一和列表的相同点
pattern = '[xyz]'
pa1 = 'x|y|z'
s = 'z'
o = re.search(pattern,s)
o1 = re.search(pa1,s)
print(o,'\n',o1)
print('#########不同点#######')
#泽一和列表的不同点
pattern = '[ab][cd]'
pa1 = 'ab|cd'
s1 = 'bc'
s2 = 'ab'
o1 = re.search(pattern,s1)
o2 = re.search(pattern,s2)
a1 = re.search(pa1,s1)
a2 = re.search(pa1,s2)
print(o1,'\n',o2,'\n',a1,'\n',a2)




################结果##############################
<re.Match object; span=(0, 1), match='z'> 
 <re.Match object; span=(0, 1), match='z'>
#########不同点#######
<re.Match object; span=(0, 2), match='bc'> 
 None 
 None 
 <re.Match object; span=(0, 2), match='ab'>

Process finished with exit code 0

重复数量限定符

提供了对表达式的一部分进行重复处理的功能。

正则表达式中常用的限定符

符号 描述
* 匹配零次或多次
+ 匹配一次或多次
匹配一次或零次
{m} 重复m次
{m,n} 重复m到n次
{m,} 至少m次

部分限定符测试

import re
#############*的使用############
pattern = '\d*'
q = '123qwe'
w = '12345qwe'
e = 'qwe'
q1 = re.match(pattern,q)
w1 = re.match(pattern,w)
e1 = re.match(pattern,e) #匹配空
print(q1,'\n',w1,'\n',e1)
#############+的使用############
pattern = '\d+'
q = '123qwe'
w = '12345qwe'
e = 'qwe'
q1 = re.match(pattern,q)
w1 = re.match(pattern,w)
e1 = re.match(pattern,e)
print(q1,'\n',w1,'\n',e1)
#############{}的使用############
pattern = '\d{2}'
pa1 = '\d{1,}'
q = '123qwe'
w = '1qwe'
e = 'qwe'
q1 = re.match(pattern,q)
w1 = re.match(pattern,w)
e1 = re.match(pa1,e)
q2 = re.match(pa1,q)
w2 = re.match(pa1,w)
e2 = re.match(pa1,e)
print(q1,'\n',w1,'\n',e1)
print(q2,'\n',w2,'\n',e2)


##################结果#######################################
<re.Match object; span=(0, 3), match='123'> 
 <re.Match object; span=(0, 5), match='12345'> 
 <re.Match object; span=(0, 0), match=''>
<re.Match object; span=(0, 3), match='123'> 
 <re.Match object; span=(0, 5), match='12345'> 
 None
<re.Match object; span=(0, 2), match='12'> 
 None 
 None
<re.Match object; span=(0, 3), match='123'> 
 <re.Match object; span=(0, 1), match='1'> 
 None

Process finished with exit code 0

原生字符串

正则表达式里使用“\”作为转移字符。

Python中字符串前面加上 r 表示原生字符串

例:在输出路径的时候要使用两次反斜杠

import re
print('c:\\a\\c\\d')
s = '\\t123'
pattern = '\\\\t\d*'
o = re.match(pattern,s)
pa1 = r'\\t\d*'
o1 = re.match(pa1,s)
print(o,'\n',o1)

############输出结果#################################

c:\a\c\d
<re.Match object; span=(0, 5), match='\\t123'> 
 <re.Match object; span=(0, 5), match='\\t123'>

Process finished with exit code 0

边界字符

字符 功能
^ 匹配字符串开头
$ 匹配字符串结尾
\b 匹配一个单词的边界
\B 匹配非单词的边界

示例

import re
#匹配QQ邮箱,数字5,10位
# $的使用
a = '[email protected]'
b = '[email protected]'
pattern = '[1-9]\d{4,9}@qq.com'
pa1 = '[1-9]\d{4,9}@qq.com$'
q1 = re.match(pattern,a)
w1 = re.match(pattern,b)
q2 = re.match(pa1,a)
w2 = re.match(pa1,b)
print(q1,'\n',w1,'\n',q2,'\n',w2)
# ^的使用
a = 'hello world'
b = 'python'
pattern = 'hello.*'
pa1 = r'^hello.*'
q1 = re.match(pattern,a)
w1 = re.match(pattern,b)
q2 = re.match(pa1,a)
w2 = re.match(pa1,b)
print(q1,'\n',w1,'\n',q2,'\n',w2)
# \b的使用
a = '1234 abc'
b = '123 ab'
pattern = r'.*\bab'
pa1 = r'.*ab\b'
q1 = re.match(pattern,a)
w1 = re.match(pattern,b)
q2 = re.match(pa1,a)
w2 = re.match(pa1,b)
print(q1,'\n',w1,'\n',q2,'\n',w2)


#########################结果##########################
<re.Match object; span=(0, 13), match='[email protected]'> 
 <re.Match object; span=(0, 13), match='[email protected]'> 
 <re.Match object; span=(0, 13), match='[email protected]'> 
 None
<re.Match object; span=(0, 11), match='hello world'> 
 None 
 <re.Match object; span=(0, 11), match='hello world'> 
 None
<re.Match object; span=(0, 7), match='1234 ab'> 
 <re.Match object; span=(0, 6), match='123 ab'> 
 None 
 <re.Match object; span=(0, 6), match='123 ab'>

Process finished with exit code 0

分组

一个模式中有用一对圆括号括起来的部分,那么这个部分就会作为一组,可以通过group方法的参数获取指定的组匹配的字符串。

字符 功能
(ab) 将括号中的字符作为一个分组
\num 引用分组num匹配到的字符串
(?p) 分别起组名
(?p=name) 引用别名为name分组匹配到的字符串

示例

import re
#匹配座机号码 区号-电话号码 010-43222 0432-447721
#(ab)的使用
pa = '(\d{3,4})-([1-9]\d{4,7}$)'
s = '010-43222'
o = re.search(pa,s)
print(o.group())
print(o.group(1))
print(o.groups())
print(o.groups()[0])

#########################结果#############################
010-43222
010
('010', '43222')
010
#\num的使用
pattern = r'<(.+)><(.+)>.+'
s = 'head部分'
s1 = 'head部分</head></body>'</span>
o <span class="token operator">=</span> re<span class="token punctuation">.</span>search<span class="token punctuation">(</span>pattern<span class="token punctuation">,</span>s<span class="token punctuation">)</span>
o1 <span class="token operator">=</span> re<span class="token punctuation">.</span>search<span class="token punctuation">(</span>pattern<span class="token punctuation">,</span>s1<span class="token punctuation">)</span>
<span class="token keyword">print</span><span class="token punctuation">(</span>o<span class="token punctuation">,</span><span class="token string">'\n'</span><span class="token punctuation">,</span>o1<span class="token punctuation">)</span>
<span class="token comment">#########################结果#############################</span>
<span class="token operator"><</span>re<span class="token punctuation">.</span>Match <span class="token builtin">object</span><span class="token punctuation">;</span> span<span class="token operator">=</span><span class="token punctuation">(</span><span class="token number">0</span><span class="token punctuation">,</span> <span class="token number">32</span><span class="token punctuation">)</span><span class="token punctuation">,</span> match<span class="token operator">=</span><span class="token string">'<html><head>head部分</head></html>'</span><span class="token operator">></span> 
 <span class="token boolean">None</span>
</code></pre> 
  <pre><code class="prism language-python"><span class="token comment">#(?p<name)</span>
pattern <span class="token operator">=</span> r<span class="token string">'<(?P<k_html>.+)><(?P<k_head>.+)>.+</(?P=k_head)></(?P=k_html)>'</span>
s <span class="token operator">=</span> <span class="token string">'<html><head>head部分</head></html>'</span>
s1 <span class="token operator">=</span> <span class="token string">'<html><title>head部分</head></body>'</span>
o <span class="token operator">=</span> re<span class="token punctuation">.</span>search<span class="token punctuation">(</span>pattern<span class="token punctuation">,</span>s<span class="token punctuation">)</span>
o1 <span class="token operator">=</span> re<span class="token punctuation">.</span>search<span class="token punctuation">(</span>pattern<span class="token punctuation">,</span>s1<span class="token punctuation">)</span>
<span class="token keyword">print</span><span class="token punctuation">(</span>o<span class="token punctuation">,</span><span class="token string">'\n'</span><span class="token punctuation">,</span>o1<span class="token punctuation">)</span>
<span class="token comment">#########################结果#############################</span>
<span class="token operator"><</span>re<span class="token punctuation">.</span>Match <span class="token builtin">object</span><span class="token punctuation">;</span> span<span class="token operator">=</span><span class="token punctuation">(</span><span class="token number">0</span><span class="token punctuation">,</span> <span class="token number">32</span><span class="token punctuation">)</span><span class="token punctuation">,</span> match<span class="token operator">=</span><span class="token string">'<html><head>head部分</head></html>'</span><span class="token operator">></span> 
 <span class="token boolean">None</span>
</code></pre> 
  <h2>其他常用函数</h2> 
  <h3>sub、subn函数</h3> 
  <p>sub函数和subn函数用于实现搜索和替换功能。这两个函数的功能几乎完全相同,都是将某个字符串中所有匹配正则表达式的部分替换成其他字符串。用来替换的部分可能是一个字符串,也可以是一个函数,该函数返回一个用来替换的字符串。</p> 
  <blockquote> 
   <p>sub函数返回替换后的结果,subn 函数返回一个元组,元组的第1个元素是替换后的结果,第2个元素是替换的总<br> 数。</p> 
  </blockquote> 
  <p>语法格式如下:</p> 
  <pre><code class="prism language-python">re<span class="token punctuation">.</span>sub<span class="token punctuation">(</span>pattern<span class="token punctuation">,</span> repl string<span class="token punctuation">,</span> count<span class="token operator">=</span><span class="token number">0</span><span class="token punctuation">,</span>flags<span class="token operator">=</span><span class="token number">0</span><span class="token punctuation">)</span>

</code></pre> 
  <pre><code class="prism language-python"><span class="token keyword">import</span> re
<span class="token comment">#sub和subn的使用</span>
s <span class="token operator">=</span> <span class="token string">'2021-959-456 # 这是一个国外的电话 123'</span>
pa1 <span class="token operator">=</span> r<span class="token string">'#.*'</span>
pa2 <span class="token operator">=</span> r<span class="token string">'#\D*'</span>
result1 <span class="token operator">=</span> re<span class="token punctuation">.</span>sub<span class="token punctuation">(</span>pa1<span class="token punctuation">,</span><span class="token string">""</span><span class="token punctuation">,</span>s<span class="token punctuation">)</span>
result2 <span class="token operator">=</span> re<span class="token punctuation">.</span>sub<span class="token punctuation">(</span>pa2<span class="token punctuation">,</span><span class="token string">""</span><span class="token punctuation">,</span>s<span class="token punctuation">)</span>
result3 <span class="token operator">=</span> re<span class="token punctuation">.</span>subn<span class="token punctuation">(</span>pa2<span class="token punctuation">,</span><span class="token string">""</span><span class="token punctuation">,</span>s<span class="token punctuation">)</span>
<span class="token keyword">print</span><span class="token punctuation">(</span>result1<span class="token punctuation">)</span>
<span class="token keyword">print</span><span class="token punctuation">(</span>result2<span class="token punctuation">)</span>
<span class="token keyword">print</span><span class="token punctuation">(</span>result3<span class="token punctuation">,</span><span class="token string">'\t'</span><span class="token punctuation">,</span>result3<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">,</span><span class="token string">'\t'</span><span class="token punctuation">,</span>result3<span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">)</span>
<span class="token comment">#########################结果#############################</span>
<span class="token number">2021</span><span class="token operator">-</span><span class="token number">959</span><span class="token operator">-</span><span class="token number">456</span> 
<span class="token number">2021</span><span class="token operator">-</span><span class="token number">959</span><span class="token operator">-</span><span class="token number">456</span> <span class="token number">123</span>
<span class="token punctuation">(</span><span class="token string">'2021-959-456 123'</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">)</span> 	 <span class="token number">2021</span><span class="token operator">-</span><span class="token number">959</span><span class="token operator">-</span><span class="token number">456</span> <span class="token number">123</span> 	 <span class="token number">1</span>
</code></pre> 
  <h3>compile函数</h3> 
  <p>compile函数用于编译正则表达式,生成一个正则表达式(Pattern)对象,供match()和search()使用。</p> 
  <p>语法格式:</p> 
  <pre><code class="prism language-python">re<span class="token punctuation">.</span><span class="token builtin">compile</span><span class="token punctuation">(</span>pattern<span class="token punctuation">[</span> flags<span class="token punctuation">]</span><span class="token punctuation">)</span>

</code></pre> 
  <p>参数说明</p> 
  <table> 
   <thead> 
    <tr> 
     <th>参数</th> 
     <th>描述</th> 
    </tr> 
   </thead> 
   <tbody> 
    <tr> 
     <td>pattern</td> 
     <td>一个字符串形式的正则表达式</td> 
    </tr> 
    <tr> 
     <td>flags</td> 
     <td>可选,表示匹配模式,例如:忽略大小写,多行模式等</td> 
    </tr> 
   </tbody> 
  </table> 
  <pre><code class="prism language-python"><span class="token comment">#compile</span>
s <span class="token operator">=</span> <span class="token string">'2021-959-456 # 这是一个国外的电话 123'</span>
pattern <span class="token operator">=</span> re<span class="token punctuation">.</span><span class="token builtin">compile</span><span class="token punctuation">(</span>r<span class="token string">'\w*'</span><span class="token punctuation">)</span>
o <span class="token operator">=</span> pattern<span class="token punctuation">.</span>search<span class="token punctuation">(</span>s<span class="token punctuation">)</span>
<span class="token keyword">print</span><span class="token punctuation">(</span>o<span class="token punctuation">)</span>
<span class="token comment">#########################结果#############################</span>
<span class="token operator"><</span>re<span class="token punctuation">.</span>Match <span class="token builtin">object</span><span class="token punctuation">;</span> span<span class="token operator">=</span><span class="token punctuation">(</span><span class="token number">0</span><span class="token punctuation">,</span> <span class="token number">4</span><span class="token punctuation">)</span><span class="token punctuation">,</span> match<span class="token operator">=</span><span class="token string">'2021'</span><span class="token operator">></span>
</code></pre> 
  <h3>findall函数</h3> 
  <p>在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,<br> 则返回空列表。语法格式如下:</p> 
  <pre><code class="prism language-python">findal<span class="token punctuation">[</span><span class="token punctuation">(</span>pattern<span class="token punctuation">,</span> string<span class="token punctuation">,</span> flags<span class="token operator">=</span><span class="token number">0</span><span class="token punctuation">)</span>

</code></pre> 
  <p>参数说明</p> 
  <table> 
   <thead> 
    <tr> 
     <th>参数</th> 
     <th>描述</th> 
    </tr> 
   </thead> 
   <tbody> 
    <tr> 
     <td>pattern</td> 
     <td>匹配的正则表达式</td> 
    </tr> 
    <tr> 
     <td>string</td> 
     <td>要匹配的字符串</td> 
    </tr> 
    <tr> 
     <td>flags</td> 
     <td>可选,表示匹配模式,例如:忽略大小写,多行模式等</td> 
    </tr> 
   </tbody> 
  </table> 
  <p>finditer函数</p> 
  <blockquote> 
   <p>和findall类似,在字符串中找到正则表达式所匹配的所有子串,并把它们作为一个迭代器返回</p> 
  </blockquote> 
  <pre><code class="prism language-python"><span class="token comment">#findall和finditer函数</span>
s <span class="token operator">=</span> <span class="token string">'first 1 second 2 third 3'</span>
pattern <span class="token operator">=</span> r<span class="token string">'\w+'</span>
o1 <span class="token operator">=</span> re<span class="token punctuation">.</span>findall<span class="token punctuation">(</span>pattern<span class="token punctuation">,</span>s<span class="token punctuation">)</span>
o2 <span class="token operator">=</span> re<span class="token punctuation">.</span>finditer<span class="token punctuation">(</span>pattern<span class="token punctuation">,</span>s<span class="token punctuation">)</span>
<span class="token keyword">print</span><span class="token punctuation">(</span>o1<span class="token punctuation">)</span>
<span class="token keyword">print</span><span class="token punctuation">(</span>o2<span class="token punctuation">)</span>
<span class="token keyword">for</span> i <span class="token keyword">in</span> o2<span class="token punctuation">:</span>
    <span class="token keyword">print</span><span class="token punctuation">(</span>i<span class="token punctuation">.</span>group<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">,</span>end<span class="token operator">=</span><span class="token string">"\t"</span><span class="token punctuation">)</span>
<span class="token comment">#########################结果#############################</span>
<span class="token punctuation">[</span><span class="token string">'first'</span><span class="token punctuation">,</span> <span class="token string">'1'</span><span class="token punctuation">,</span> <span class="token string">'second'</span><span class="token punctuation">,</span> <span class="token string">'2'</span><span class="token punctuation">,</span> <span class="token string">'third'</span><span class="token punctuation">,</span> <span class="token string">'3'</span><span class="token punctuation">]</span>
<span class="token operator"><</span>callable_iterator <span class="token builtin">object</span> at <span class="token number">0x000001BE65638668</span><span class="token operator">></span>
first	<span class="token number">1</span>	second	<span class="token number">2</span>	third	<span class="token number">3</span>
</code></pre> 
  <h3>split函数</h3> 
  <p>split函数用于根据正则表达式分隔字符串,也就是说,将字符串与模式匹配的子字符串都作为分隔符来分隔这个字符串。split 函数返回一个列表形式的分隔结果,每一个列表元素都是分隔的子字符串。</p> 
  <p>语法格式如下:</p> 
  <pre><code class="prism language-python">re<span class="token punctuation">.</span>split<span class="token punctuation">(</span>pattern<span class="token punctuation">,</span> string<span class="token punctuation">[</span> maxsplit<span class="token operator">=</span><span class="token number">0</span><span class="token punctuation">,</span> flags<span class="token operator">=</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">)</span>

</code></pre> 
  <p>参数说明</p> 
  <table> 
   <thead> 
    <tr> 
     <th>参数</th> 
     <th>描述</th> 
    </tr> 
   </thead> 
   <tbody> 
    <tr> 
     <td>pattern</td> 
     <td>匹配的正则表达式</td> 
    </tr> 
    <tr> 
     <td>string</td> 
     <td>要匹配的字符串</td> 
    </tr> 
    <tr> 
     <td>maxsplit</td> 
     <td>分隔次数,maxsplit = 1分隔一次,默认为0,不限制次数</td> 
    </tr> 
    <tr> 
     <td>flags</td> 
     <td>可选,表示匹配模式,例如:忽略大小写,多行模式等</td> 
    </tr> 
   </tbody> 
  </table> 
  <pre><code class="prism language-python"><span class="token comment">#split函数</span>
s <span class="token operator">=</span> <span class="token string">'first1second22third 3'</span>
pattern <span class="token operator">=</span> r<span class="token string">'\d+'</span>
o1 <span class="token operator">=</span> re<span class="token punctuation">.</span>split<span class="token punctuation">(</span>pattern<span class="token punctuation">,</span>s<span class="token punctuation">)</span>
o2 <span class="token operator">=</span> re<span class="token punctuation">.</span>split<span class="token punctuation">(</span>pattern<span class="token punctuation">,</span>s<span class="token punctuation">,</span>maxsplit<span class="token operator">=</span><span class="token number">2</span><span class="token punctuation">)</span>
<span class="token keyword">print</span><span class="token punctuation">(</span>o1<span class="token punctuation">)</span>
<span class="token keyword">print</span><span class="token punctuation">(</span>o2<span class="token punctuation">)</span>
<span class="token comment">#########################结果#############################</span>
<span class="token punctuation">[</span><span class="token string">'first'</span><span class="token punctuation">,</span> <span class="token string">'second'</span><span class="token punctuation">,</span> <span class="token string">'third '</span><span class="token punctuation">,</span> <span class="token string">''</span><span class="token punctuation">]</span>
<span class="token punctuation">[</span><span class="token string">'first'</span><span class="token punctuation">,</span> <span class="token string">'second'</span><span class="token punctuation">,</span> <span class="token string">'third 3'</span><span class="token punctuation">]</span>
</code></pre> 
  <p>贪婪模式和非贪婪模式</p> 
  <p>贪婪模式指Python里数量词默认是贪婪的,总是尝试匹配尽可能多的字符。非贪婪模式与贪婪相反,总是尝试匹配尽可能少的字符,可以使用重复数量限定符后面加上?,使贪婪变成非贪婪。</p> 
  <pre><code class="prism language-python"><span class="token keyword">import</span> re

v <span class="token operator">=</span> re<span class="token punctuation">.</span>match<span class="token punctuation">(</span>r<span class="token string">'(.+)(\d+-\d+-\d+)'</span><span class="token punctuation">,</span><span class="token string">'This is my tel:133-1234-1234'</span><span class="token punctuation">)</span>
<span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string">'--------贪婪模式-------'</span><span class="token punctuation">)</span>
<span class="token keyword">print</span><span class="token punctuation">(</span>v<span class="token punctuation">.</span>group<span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">)</span>
<span class="token keyword">print</span><span class="token punctuation">(</span>v<span class="token punctuation">.</span>group<span class="token punctuation">(</span><span class="token number">2</span><span class="token punctuation">)</span><span class="token punctuation">)</span>
<span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string">'--------非贪婪模式-------'</span><span class="token punctuation">)</span>
v <span class="token operator">=</span> re<span class="token punctuation">.</span>match<span class="token punctuation">(</span>r<span class="token string">'(.+?)(\d+-\d+-\d+)'</span><span class="token punctuation">,</span><span class="token string">'This is my tel:133-1234-1234'</span><span class="token punctuation">)</span>
<span class="token keyword">print</span><span class="token punctuation">(</span>v<span class="token punctuation">.</span>group<span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">)</span>
<span class="token keyword">print</span><span class="token punctuation">(</span>v<span class="token punctuation">.</span>group<span class="token punctuation">(</span><span class="token number">2</span><span class="token punctuation">)</span><span class="token punctuation">)</span>
<span class="token comment">#########################结果#############################</span>
<span class="token operator">-</span><span class="token operator">-</span><span class="token operator">-</span><span class="token operator">-</span><span class="token operator">-</span><span class="token operator">-</span><span class="token operator">-</span><span class="token operator">-</span>贪婪模式<span class="token operator">-</span><span class="token operator">-</span><span class="token operator">-</span><span class="token operator">-</span><span class="token operator">-</span><span class="token operator">-</span><span class="token operator">-</span>
This <span class="token keyword">is</span> my tel<span class="token punctuation">:</span><span class="token number">13</span>
<span class="token number">3</span><span class="token operator">-</span><span class="token number">1234</span><span class="token operator">-</span><span class="token number">1234</span>
<span class="token operator">-</span><span class="token operator">-</span><span class="token operator">-</span><span class="token operator">-</span><span class="token operator">-</span><span class="token operator">-</span><span class="token operator">-</span><span class="token operator">-</span>非贪婪模式<span class="token operator">-</span><span class="token operator">-</span><span class="token operator">-</span><span class="token operator">-</span><span class="token operator">-</span><span class="token operator">-</span><span class="token operator">-</span>
This <span class="token keyword">is</span> my tel<span class="token punctuation">:</span>
<span class="token number">133</span><span class="token operator">-</span><span class="token number">1234</span><span class="token operator">-</span><span class="token number">1234</span>

Process finished <span class="token keyword">with</span> exit code <span class="token number">0</span>

</code></pre> 
 </div> 
</div>
                            </div>
                        </div>
                    </div>
                    <!--PC和WAP自适应版-->
                    <div id="SOHUCS" sid="1369943835240652800"></div>
                    <script type="text/javascript" src="/views/front/js/chanyan.js"></script>
                    <!-- 文章页-底部 动态广告位 -->
                    <div class="youdao-fixed-ad" id="detail_ad_bottom"></div>
                </div>
                <div class="col-md-3">
                    <div class="row" id="ad">
                        <!-- 文章页-右侧1 动态广告位 -->
                        <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_1"> </div>
                        </div>
                        <!-- 文章页-右侧2 动态广告位 -->
                        <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_2"></div>
                        </div>
                        <!-- 文章页-右侧3 动态广告位 -->
                        <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_3"></div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <div class="container">
        <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(蓝桥杯)</h4>
        <div id="paradigm-article-related">
            <div class="recommend-post mb30">
                <ul class="widget-links">
                    <li><a href="/article/1902905722669166592.htm"
                           title="算法基础——蓝桥杯(python实现,实际上大多数用c++更明白易懂)(第一部分,共12个小题)" target="_blank">算法基础——蓝桥杯(python实现,实际上大多数用c++更明白易懂)(第一部分,共12个小题)</a>
                        <span class="text-muted">New_Teen</span>
<a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E8%93%9D%E6%A1%A5%E6%9D%AF/1.htm">蓝桥杯</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a>
                        <div>1.成绩统计问题描述:编写一个程序,建立一个字典,每个字典包含姓名、学号、英语成绩、数学成绩和C++成绩,并通过字典操作平均分最高的学生和平均分最低的学生并且输出。输入格式:输入n+1行,第一行输入一个正整数n,表示学生数量;接下来的n行每行输入5个数据,分别表示姓名、学号、英语成绩、数学成绩和C++成绩。注意成绩有可能会有小数。输出格式:输出两行,第一行输出平均成绩最高的学生姓名。第二行输出平均</div>
                    </li>
                    <li><a href="/article/1902782132548333568.htm"
                           title="2020年第十一届蓝桥杯python组省赛" target="_blank">2020年第十一届蓝桥杯python组省赛</a>
                        <span class="text-muted">Ruoki~</span>
<a class="tag" taget="_blank" href="/search/%E8%93%9D%E6%A1%A5%E6%9D%AFpython%E7%9C%9F%E9%A2%98/1.htm">蓝桥杯python真题</a><a class="tag" taget="_blank" href="/search/%E8%93%9D%E6%A1%A5%E6%9D%AF/1.htm">蓝桥杯</a><a class="tag" taget="_blank" href="/search/%E8%81%8C%E5%9C%BA%E5%92%8C%E5%8F%91%E5%B1%95/1.htm">职场和发展</a>
                        <div>前言:python最简单的一套题了,适合小白入门练手目录填空题门牌制作寻找2020跑步锻炼蛇形填数排序编程大题成绩统计单词分析数字三角形平面切分装饰珠填空题门牌制作题目:小蓝要为一条街的住户制作门牌号。这条街一共有2020位住户,门牌号从1到2020编号。小蓝制作门牌的方法是先制作0到9这几个数字字符,最后根据需要将字符粘贴到门牌上,例如门牌1017需要依次粘贴字符1、0、1、7,即需要1个字符0</div>
                    </li>
                    <li><a href="/article/1902552347528196096.htm"
                           title="2023第十四届蓝桥杯Java大学生C组真题?(真题+附链接)" target="_blank">2023第十四届蓝桥杯Java大学生C组真题?(真题+附链接)</a>
                        <span class="text-muted">大C爱编程</span>
<a class="tag" taget="_blank" href="/search/%E8%93%9D%E6%A1%A5%E6%9D%AF/1.htm">蓝桥杯</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a>
                        <div>第十四届蓝桥杯大赛软件赛省赛Java大学A组试题A:求和本题总分:5分【问题描述】求1(含)至20230408(含)中每个数的和。【答案提交】这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。试题B:分糖果本题总分:5分【问题描述】两种糖果分别有9个和16个,要全部分给7个小朋友,每个小朋友得到的糖果总数最少为2个最多为5</div>
                    </li>
                    <li><a href="/article/1902552221145427968.htm"
                           title="题目 3161: 蓝桥杯2023年第十四届省赛真题-子矩阵" target="_blank">题目 3161: 蓝桥杯2023年第十四届省赛真题-子矩阵</a>
                        <span class="text-muted">Kent_J_Truman</span>
<a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E8%93%9D%E6%A1%A5%E6%9D%AF/1.htm">蓝桥杯</a><a class="tag" taget="_blank" href="/search/%E7%9F%A9%E9%98%B5/1.htm">矩阵</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a>
                        <div>题目代码#includeusingnamespacestd;typedeflonglongll;constintN=1010,mod=998244353;intg[N][N];intrmin[N][N],rmax[N][N];llmmin[N][N],mmax[N][N];intq[N*N];inthh,tt;intn,m,a,b;intmain(){cin>>n>>m>>a>>b;for(int</div>
                    </li>
                    <li><a href="/article/1902551969059368960.htm"
                           title="第十四届蓝桥杯省赛C++C组——子矩阵(蓝桥杯篇章完结撒花)" target="_blank">第十四届蓝桥杯省赛C++C组——子矩阵(蓝桥杯篇章完结撒花)</a>
                        <span class="text-muted">Dawn_破晓</span>
<a class="tag" taget="_blank" href="/search/%E8%93%9D%E6%A1%A5%E6%9D%AF%E4%B8%80%E4%B8%AA%E6%9C%88%E9%80%9F%E6%88%90%E6%97%A5%E5%BF%97/1.htm">蓝桥杯一个月速成日志</a><a class="tag" taget="_blank" href="/search/%E8%93%9D%E6%A1%A5%E6%9D%AF/1.htm">蓝桥杯</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/c%E8%AF%AD%E8%A8%80/1.htm">c语言</a>
                        <div>本来想写的速成日志也没写多少,cb国二,最后一题树形DP调了一小时发现h数组没置-1,最后无果,如果没马虎可能有国一水平了,正儿八经准备用了两个月,因为要考研,每天只学2-3小时的算法,一共刷了300多道题吧,由于之前选过ACM(实验课因为周六去,懒得去还给我挂了)和算法分析课,所以还是有点基础的,如果算上一年前刷的题总共加起来也就400多道题吧。说一下历程吧,一年前的题都是老师布置的作业,迫不得</div>
                    </li>
                    <li><a href="/article/1902546793619582976.htm"
                           title="蓝桥杯2023年第十四届省赛真题-整数删除 暴力-->链表+小根堆" target="_blank">蓝桥杯2023年第十四届省赛真题-整数删除 暴力-->链表+小根堆</a>
                        <span class="text-muted">好好学习^按时吃饭</span>
<a class="tag" taget="_blank" href="/search/%E8%93%9D%E6%A1%A5%E6%9D%AF/1.htm">蓝桥杯</a><a class="tag" taget="_blank" href="/search/%E9%93%BE%E8%A1%A8/1.htm">链表</a>
                        <div>题目来自DOTCPP:思路:①每次找到数列中的最小值下标,然后用状态数组st标记它,相当与删除它,之后就不会访问它。②对最小值下标左边和右边判断一下,看有没有数字,如果有就把最小值加到两边第一个数字。暴力代码如下(会超时):#include#defineintlonglongusingnamespacestd;constintN=5e5+10;intn,k;intarr[N];boolst[N];</div>
                    </li>
                    <li><a href="/article/1902546794642993152.htm"
                           title="蓝桥杯2023年第十四届省赛真题-公因数匹配" target="_blank">蓝桥杯2023年第十四届省赛真题-公因数匹配</a>
                        <span class="text-muted">好好学习^按时吃饭</span>
<a class="tag" taget="_blank" href="/search/%E8%93%9D%E6%A1%A5%E6%9D%AF/1.htm">蓝桥杯</a>
                        <div>题目来自DOPCPP:公因数:一个能同时整数若干整数的整数。暴力代码(超时):#include#defineintlonglongusingnamespacestd;constintN=1e5+10;intn;intarr[N];signedmain(){cin>>n;for(inti=1;i>arr[i];//s表示方案中的起点e表示终点//题目中说了i1){//更新答案cout#definei</div>
                    </li>
                    <li><a href="/article/1902507699308916736.htm"
                           title="蓝桥杯每日一练" target="_blank">蓝桥杯每日一练</a>
                        <span class="text-muted">智商不在服务器</span>
<a class="tag" taget="_blank" href="/search/%E8%93%9D%E6%A1%A5%E6%9D%AF/1.htm">蓝桥杯</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a>
                        <div>【问题描述】小蓝制作了n个工件,每个工件用一个由小写英文字母组成的,长度为2的字符串表示,第i个工件表示为si。小蓝想把n个工件拼接到一起,方便转移到另一个地方完成下一道工序,而拼接后的工件用字符串S=s1+s2+...+sn表示,其中+表示一种奇特的拼接方式:对于c=a+b来说,如果a的第二个字符和b的第一个字符相同,则拼接后的结果c长度为3而不是4,中间相同的字符可以省略一个,比如xy+yz=</div>
                    </li>
                    <li><a href="/article/1902439987417247744.htm"
                           title="蓝桥杯练习day1:统计能整除数字的位数" target="_blank">蓝桥杯练习day1:统计能整除数字的位数</a>
                        <span class="text-muted">你今天刷题了吗?</span>
<a class="tag" taget="_blank" href="/search/%E8%93%9D%E6%A1%A5%E6%9D%AF/1.htm">蓝桥杯</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E8%81%8C%E5%9C%BA%E5%92%8C%E5%8F%91%E5%B1%95/1.htm">职场和发展</a>
                        <div>前言给你一个整数num,返回num中能整除num的数位的数目。如果满足nums%val==0,则认为整数val可以整除nums。示例1:输入:num=7输出:1解释:7被自己整除,因此答案是1。示例2:输入:num=121输出:2解释:121可以被1整除,但无法被2整除。由于1出现两次,所以返回2。示例3:输入:num=1248输出:4解释:1248可以被它每一位上的数字整除,因此答案是4。代码1</div>
                    </li>
                    <li><a href="/article/1902436827529277440.htm"
                           title="蓝桥杯练习-3.17" target="_blank">蓝桥杯练习-3.17</a>
                        <span class="text-muted">梨绘小棠</span>
<a class="tag" taget="_blank" href="/search/%E8%93%9D%E6%A1%A5%E6%9D%AF/1.htm">蓝桥杯</a><a class="tag" taget="_blank" href="/search/%E8%B4%AA%E5%BF%83%E7%AE%97%E6%B3%95/1.htm">贪心算法</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a>
                        <div>蓝桥杯练习-3.17代码练习•旅行家的预算-贪心问题描述一个旅行家想驾驶汽车以最少的费用从一个城市到另一个城市(假设出发时油箱是空的)。给定两个城市之间的距离D1、汽车油箱的容量C(以升为单位)、每升汽油能行驶的距离D2、出发点每升汽油价格P和沿途油站数N(N可以为零),油站i离出发点的距离Di、每升汽油价格Pi(i=1,2,……N)。计算结果四舍五入至小数点后两位。如果无法到达目的地,则输出“N</div>
                    </li>
                    <li><a href="/article/1902415123490861056.htm"
                           title="蓝桥杯pythonB组备赛" target="_blank">蓝桥杯pythonB组备赛</a>
                        <span class="text-muted">暴力执码</span>
<a class="tag" taget="_blank" href="/search/%E8%93%9D%E6%A1%A5%E6%9D%AF/1.htm">蓝桥杯</a><a class="tag" taget="_blank" href="/search/%E8%81%8C%E5%9C%BA%E5%92%8C%E5%8F%91%E5%B1%95/1.htm">职场和发展</a>
                        <div>P1003[NOIP2011提高组]铺地毯题目描述为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯。一共有n张地毯,编号从1到n。现在将这些地毯按照编号从小到大的顺序平行于坐标轴先后铺设,后铺的地毯覆盖在前面已经铺好的地毯之上。地毯铺设完成后,组织者想知道覆盖地面某个点的最上面的那张地毯的编号。注意:在矩形地毯边界和四个顶点上的点也算被地毯</div>
                    </li>
                    <li><a href="/article/1902217901033713664.htm"
                           title="蓝桥杯新手算法练习题单|冲击国一(三)" target="_blank">蓝桥杯新手算法练习题单|冲击国一(三)</a>
                        <span class="text-muted">小咖拉眯</span>
<a class="tag" taget="_blank" href="/search/%E8%93%9D%E6%A1%A5%E6%9D%AF/1.htm">蓝桥杯</a><a class="tag" taget="_blank" href="/search/%E8%93%9D%E6%A1%A5%E6%9D%AF/1.htm">蓝桥杯</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/dfs/1.htm">dfs</a><a class="tag" taget="_blank" href="/search/bfs/1.htm">bfs</a>
                        <div>此题单为算法基础精选题单,包含蓝桥杯常考考点以及各种经典算法,可以帮助你打牢基础,查漏补缺。本题单目标是冲击蓝桥杯省一国一,团体程序天梯赛个人国三、XCPC区域赛铜/银奖前言本次题单重点关注模拟类问题,DFS问题,BFS问题目录模拟类题型一、最大子矩阵二、世纪末的星期三、图像相似度四、操作系统DFS题型五、老子的全排列呢六、皇后问题七、池塘BFS题型八、迷宫九、八数码问题十、字符变换一、最大子矩阵</div>
                    </li>
                    <li><a href="/article/1902184090824667136.htm"
                           title="2024年第十五届蓝桥杯大赛软件类省赛C/C++大学B组真题——好数" target="_blank">2024年第十五届蓝桥杯大赛软件类省赛C/C++大学B组真题——好数</a>
                        <span class="text-muted">小黄Calm</span>
<a class="tag" taget="_blank" href="/search/%E8%93%9D%E6%A1%A5%E6%9D%AF/1.htm">蓝桥杯</a><a class="tag" taget="_blank" href="/search/c%E8%AF%AD%E8%A8%80/1.htm">c语言</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a>
                        <div>题目:一个整数如果按从低位到高位的顺序,奇数位(个位、百位、万位···)上的数字是奇数,偶数位(十位、千位、十万位···)上的数字是偶数,我们就称之为“好数”。给定一个正整数N,请计算从1到N一共有多少个好数。由于题目中最高只有七位数,可以通过多少位数来分别判断:#includeintmain(){intnum1,count=0,n=0;scanf("%d",&num1);for(intnum=1</div>
                    </li>
                    <li><a href="/article/1902183585201319936.htm"
                           title="宝石组合 第十五届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组" target="_blank">宝石组合 第十五届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组</a>
                        <span class="text-muted">Geometry Fu</span>
<a class="tag" taget="_blank" href="/search/%E8%93%9D%E6%A1%A5%E6%9D%AF/1.htm">蓝桥杯</a><a class="tag" taget="_blank" href="/search/%E8%93%9D%E6%A1%A5%E6%9D%AF/1.htm">蓝桥杯</a><a class="tag" taget="_blank" href="/search/c%E8%AF%AD%E8%A8%80/1.htm">c语言</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a>
                        <div>宝石组合题目来源第十五届蓝桥杯大赛软件赛省赛C/C++大学B组原题链接蓝桥杯宝石组合https://www.lanqiao.cn/problems/19711/learning/问题描述P10426[蓝桥杯2024省B]宝石组合题目描述在一个神秘的森林里,住着一个小精灵名叫小蓝。有一天,他偶然发现了一个隐藏在树洞里的宝藏,里面装满了闪烁着美丽光芒的宝石。这些宝石都有着不同的颜色和形状,但最引人注目</div>
                    </li>
                    <li><a href="/article/1902179921288032256.htm"
                           title="好数 第十五届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组" target="_blank">好数 第十五届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组</a>
                        <span class="text-muted">Geometry Fu</span>
<a class="tag" taget="_blank" href="/search/%E8%93%9D%E6%A1%A5%E6%9D%AF/1.htm">蓝桥杯</a><a class="tag" taget="_blank" href="/search/%E8%93%9D%E6%A1%A5%E6%9D%AF/1.htm">蓝桥杯</a><a class="tag" taget="_blank" href="/search/c%E8%AF%AD%E8%A8%80/1.htm">c语言</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a>
                        <div>好数题目来源第十五届蓝桥杯大赛软件赛省赛C/C++大学B组原题链接蓝桥杯好数问题描述P10424[蓝桥杯2024省B]好数题目描述一个整数如果按从低位到高位的顺序,奇数位(个位、百位、万位……)上的数字是奇数,偶数位(十位、千位、十万位……)上的数字是偶数,我们就称之为“好数”。给定一个正整数NNN,请计算从111到NNN一共有多少个好数。输入格式一个整数NNN。输出格式一个整数代表答案。输入输出</div>
                    </li>
                    <li><a href="/article/1902154567949283328.htm"
                           title="【第15届蓝桥杯】软件赛CB组省赛" target="_blank">【第15届蓝桥杯】软件赛CB组省赛</a>
                        <span class="text-muted">Guiat</span>
<a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95%E7%AB%9E%E8%B5%9B%E7%9C%9F%E9%A2%98%E9%A2%98%E8%A7%A3/1.htm">算法竞赛真题题解</a><a class="tag" taget="_blank" href="/search/%E8%93%9D%E6%A1%A5%E6%9D%AF/1.htm">蓝桥杯</a>
                        <div>个人主页:Guiat归属专栏:算法竞赛真题题解文章目录A.握手问题(填空题)B.小球反弹(填空题)C.好数D.R格式E.宝石组合F.数字接龙G.爬山H.拔河正文总共8道题。A.握手问题(填空题)【题目】握手问题【分析】纯考察数学中简单排列组合。考虑相互握手的43人:(43*42)/2;考虑剩下7人与43人分别握手:7*43;两者相加即最终答案。【答案】1204【AC_Code】#include#d</div>
                    </li>
                    <li><a href="/article/1902097786757771264.htm"
                           title="蓝桥杯Python赛道备赛——Day6:算术(二)(数学问题)" target="_blank">蓝桥杯Python赛道备赛——Day6:算术(二)(数学问题)</a>
                        <span class="text-muted">SKY YEAM</span>
<a class="tag" taget="_blank" href="/search/%E8%93%9D%E6%A1%A5%E6%9D%AF%E5%A4%87%E8%B5%9B/1.htm">蓝桥杯备赛</a><a class="tag" taget="_blank" href="/search/%E8%93%9D%E6%A1%A5%E6%9D%AF/1.htm">蓝桥杯</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E8%81%8C%E5%9C%BA%E5%92%8C%E5%8F%91%E5%B1%95/1.htm">职场和发展</a>
                        <div>本期博客是蓝桥杯备赛中算术(数学问题)的第二期,包括:快速幂算法、逆元(模意义下的倒数)、组合数计算和排列数计算。每一种数学问题都在给出定义的同时,给出了其求解方法的示例代码,以供低年级师弟师妹们学习和练习。前序知识:(1)Python基础语法算术(二)(数学问题)一、快速幂算法二、逆元(模意义下的倒数)三、组合数计算四、排列数计算一、快速幂算法1.定义:快速计算大指数幂的算法。2.算法原理:二进</div>
                    </li>
                    <li><a href="/article/1902097534537494528.htm"
                           title="蓝桥杯Python赛道备赛——Day1:基础算法" target="_blank">蓝桥杯Python赛道备赛——Day1:基础算法</a>
                        <span class="text-muted">SKY YEAM</span>
<a class="tag" taget="_blank" href="/search/%E8%93%9D%E6%A1%A5%E6%9D%AF%E5%A4%87%E8%B5%9B/1.htm">蓝桥杯备赛</a><a class="tag" taget="_blank" href="/search/%E8%93%9D%E6%A1%A5%E6%9D%AF/1.htm">蓝桥杯</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a>
                        <div>本博客就蓝桥杯中的基础算法(这一部分说是算法,但更是一些简单的操作)进行罗列,包括:枚举、模拟、前缀和、差分、二分查找、进制转换、贪心、位运算和双指针。每一个算法都在给出概念解释的同时,给出了示例代码,以供低年级师弟师妹们学习和练习。前序知识:(1)Python基础语法(2)PythonOOP(面向对象编程)基础算法(操作)一、枚举二、模拟三、前缀和四、差分五、二分查找六、进制转换七、贪心八、位运</div>
                    </li>
                    <li><a href="/article/1902095263724531712.htm"
                           title="蓝桥杯Python赛道备赛——Day7:动态规划(基础)" target="_blank">蓝桥杯Python赛道备赛——Day7:动态规划(基础)</a>
                        <span class="text-muted">SKY YEAM</span>
<a class="tag" taget="_blank" href="/search/%E8%93%9D%E6%A1%A5%E6%9D%AF%E5%A4%87%E8%B5%9B/1.htm">蓝桥杯备赛</a><a class="tag" taget="_blank" href="/search/%E8%93%9D%E6%A1%A5%E6%9D%AF/1.htm">蓝桥杯</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92/1.htm">动态规划</a>
                        <div>本博客就蓝桥杯中所涉及的动态规划基础问题进行讲解,包括:递推、记忆化搜索、最长公共子序列(LCS)和最长上升子序列(LIS)。每一种动态规划问题都在给出定义的同时,给出了其求解方法的示例代码,以供低年级师弟师妹们学习和练习。前序知识:(1)Python基础语法动态规划(基础)一、递推(迭代法)二、记忆化搜索(递归+缓存)三、最长公共子序列(LCS)四、最长上升子序列(LIS)一、递推(迭代法)定义</div>
                    </li>
                    <li><a href="/article/1902042801311379456.htm"
                           title="【蓝桥杯】每日练习 Day4" target="_blank">【蓝桥杯】每日练习 Day4</a>
                        <span class="text-muted">百渡ovO</span>
<a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a><a class="tag" taget="_blank" href="/search/%E8%93%9D%E6%A1%A5%E6%9D%AF/1.htm">蓝桥杯</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a>
                        <div>目录前言回文游戏分析代码牛奶交换分析代码最大限度的提高生产力分析代码前言幸运日!!!遇到三个非常简单的题。几乎没费什么脑子就写出来了。本来今天是不打算再写的,因为做完实验本身就已经十点了,而且实验过程并不愉快(一条双绞线裁了九次……不过最终主播在朋友的帮助下还是成功做出来了——皆大欢喜)。还有回寝室的时候遇到一只野生哈基米,好可爱^_^今日事今日毕。事不宜迟我们马上开始吧!回文游戏分析首先看到(最</div>
                    </li>
                    <li><a href="/article/1902031201061892096.htm"
                           title="第十六届蓝桥杯模拟赛(第一期)-c++/c" target="_blank">第十六届蓝桥杯模拟赛(第一期)-c++/c</a>
                        <span class="text-muted">shix .</span>
<a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95%E7%AB%9E%E8%B5%9B/1.htm">算法竞赛</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/%E8%93%9D%E6%A1%A5%E6%9D%AF/1.htm">蓝桥杯</a><a class="tag" taget="_blank" href="/search/c%E8%AF%AD%E8%A8%80/1.htm">c语言</a>
                        <div>c++/c蓝桥杯模拟赛题解,非常详细质因数1、填空题【问题描述】如果一个数p是个质数,同时又是整数a的约数,则p称为a的一个质因数。请问2024有多少个质因数。【答案提交】这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分.写一个判断质数和约数的函数判断即可约数判断可以直接使用c++的__gcd(最大公因数)函数,当然也可以</div>
                    </li>
                    <li><a href="/article/1902001838295674880.htm"
                           title="蓝桥杯Python赛道备赛——Day8:动态规划(基础)案例分析" target="_blank">蓝桥杯Python赛道备赛——Day8:动态规划(基础)案例分析</a>
                        <span class="text-muted">SKY YEAM</span>
<a class="tag" taget="_blank" href="/search/%E8%93%9D%E6%A1%A5%E6%9D%AF%E5%A4%87%E8%B5%9B/1.htm">蓝桥杯备赛</a><a class="tag" taget="_blank" href="/search/%E8%93%9D%E6%A1%A5%E6%9D%AF/1.htm">蓝桥杯</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92/1.htm">动态规划</a>
                        <div>本博客就上一期中讨论的蓝桥杯动态规划基础问题(包括:递推、记忆化搜索、最长公共子序列和最长上升子序列),给出了六个常见的案例问题。每一个问题都给出了其求解方法的示例代码,以供低年级师弟师妹们学习和练习。如有不懂,欢迎在评论区提问。前序知识:(1)Python基础语法(2)Day1:基础算法(3)Day7:动态规划(基础)动态规划(基础)案例分析一、递推应用:爬楼梯问题二、递推应用:零钱兑换三、记忆</div>
                    </li>
                    <li><a href="/article/1901943078156038144.htm"
                           title="5周0基础冲刺蓝桥杯省重点 4" target="_blank">5周0基础冲刺蓝桥杯省重点 4</a>
                        <span class="text-muted">杰克尼</span>
<a class="tag" taget="_blank" href="/search/%5B%E9%80%9F%E6%88%90%E8%93%9D%E6%A1%A5%E6%9D%AF%5D0%E5%9F%BA%E7%A1%80%E5%86%B2%E7%9C%81%E5%A5%96%E9%87%8D%E7%82%B9/1.htm">[速成蓝桥杯]0基础冲省奖重点</a><a class="tag" taget="_blank" href="/search/%E8%93%9D%E6%A1%A5%E6%9D%AF/1.htm">蓝桥杯</a><a class="tag" taget="_blank" href="/search/%E8%81%8C%E5%9C%BA%E5%92%8C%E5%8F%91%E5%B1%95/1.htm">职场和发展</a>
                        <div>目录[算法题解]李白打酒题目详情问题描述题目描述运行限制代码实现cpp运行结果总结分享算法题解是我记录学习、交流进步的方式~如果这篇文章对你有帮助,欢迎关注我的CSDN账号杰克尼,后续会持续更新更多算法题解、编程技巧,一起在代码的世界里探索成长![算法题解]李白打酒嗨,大家好!我是杰克尼,最近在疯狂刷算法题提升编程能力~今天分享一道很有意思的算法题解题过程。无论是算法新手还是想交流思路的小伙伴,都</div>
                    </li>
                    <li><a href="/article/1901933119238369280.htm"
                           title="蓝桥杯嵌入式之按位点灯 按键长按、短按、双击操作(附源码)" target="_blank">蓝桥杯嵌入式之按位点灯 按键长按、短按、双击操作(附源码)</a>
                        <span class="text-muted">啦啦啦1021</span>
<a class="tag" taget="_blank" href="/search/MCU%E5%A4%96%E8%AE%BE/1.htm">MCU外设</a><a class="tag" taget="_blank" href="/search/%E5%B8%B8%E7%94%A8%E5%99%A8%E4%BB%B6%E5%88%86%E4%BA%AB/1.htm">常用器件分享</a><a class="tag" taget="_blank" href="/search/%E8%93%9D%E6%A1%A5%E6%9D%AF/1.htm">蓝桥杯</a><a class="tag" taget="_blank" href="/search/%E5%8D%95%E7%89%87%E6%9C%BA/1.htm">单片机</a><a class="tag" taget="_blank" href="/search/stm32/1.htm">stm32</a>
                        <div>蓝桥杯嵌入式之按位点灯按键长按、短按、双击操作(附源码)GPIO引脚配置原理STM32的每个IO端口都有7个寄存器来控制,分别是:CRH、CHL、ODR、IDR、BSRR、BRR、LCLK,加上APB2外设时钟使能寄存器ACC->APB2ENR就可以实现对IO口的所有操作了。不管是库函数还是HAL库究其根源都是通过控制这几个寄存器实现的。各个寄存器功能如下:CRH和CRL寄存器:IO口的模式和输出</div>
                    </li>
                    <li><a href="/article/1901790466861494272.htm"
                           title="[蓝桥杯 2023 省 B] 飞机降落" target="_blank">[蓝桥杯 2023 省 B] 飞机降落</a>
                        <span class="text-muted">haaaaaaarry</span>
<a class="tag" taget="_blank" href="/search/%E8%93%9D%E6%A1%A5%E6%9D%AF/1.htm">蓝桥杯</a>
                        <div>[蓝桥杯2023省B]飞机降落题目描述NNN架飞机准备降落到某个只有一条跑道的机场。其中第iii架飞机在TiT_{i}Ti时刻到达机场上空,到达时它的剩余油料还可以继续盘旋DiD_{i}Di个单位时间,即它最早可以于TiT_{i}Ti时刻开始降落,最晩可以于Ti+DiT_{i}+D_{i}Ti+Di时刻开始降落。降落过程需要LiL_{i}Li个单位时间。一架飞机降落完毕时,另一架飞机可以立即在同一</div>
                    </li>
                    <li><a href="/article/1901745566442909696.htm"
                           title="第十五届蓝桥杯省赛PythonB组题解汇总" target="_blank">第十五届蓝桥杯省赛PythonB组题解汇总</a>
                        <span class="text-muted">信奥郭老师</span>
<a class="tag" taget="_blank" href="/search/%E8%93%9D%E6%A1%A5%E6%9D%AF/1.htm">蓝桥杯</a><a class="tag" taget="_blank" href="/search/%E8%81%8C%E5%9C%BA%E5%92%8C%E5%8F%91%E5%B1%95/1.htm">职场和发展</a>
                        <div>A-穿越时空之门B-数字串个数C-连连看D-神奇闹钟E-蓝桥村的真相F-魔法巡游G-缴纳过路费H-纯职业小组</div>
                    </li>
                    <li><a href="/article/1901743926205804544.htm"
                           title="蓝桥杯 Python组-神奇闹钟(datetime库)" target="_blank">蓝桥杯 Python组-神奇闹钟(datetime库)</a>
                        <span class="text-muted">Aurora_th</span>
<a class="tag" taget="_blank" href="/search/%E8%93%9D%E6%A1%A5%E6%9D%AF/1.htm">蓝桥杯</a><a class="tag" taget="_blank" href="/search/%E8%93%9D%E6%A1%A5%E6%9D%AF/1.htm">蓝桥杯</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E8%81%8C%E5%9C%BA%E5%92%8C%E5%8F%91%E5%B1%95/1.htm">职场和发展</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/datetime/1.htm">datetime</a>
                        <div>神奇闹钟传送门:0神奇闹钟-蓝桥云课问题描述小蓝发现了一个神奇的闹钟,从纪元时间(1970年11日00:00:00)开始,每经过x分钟,这个闹钟便会触发一次闹铃(纪元时间也会响铃)。这引起了小蓝的兴趣,他想要好好研究下这个闹钟。对于给出的任意一个格式为уууу-MM-ddHH:mm:ss的时间,小蓝想要知道在这个时间点之前(包含这个时间点)的最近的一次闹铃时间是哪个时间?注意,你不必考虑时区问题。</div>
                    </li>
                    <li><a href="/article/1901743295973879808.htm"
                           title="【蓝桥杯】省赛:连连看(暴力 非AC)" target="_blank">【蓝桥杯】省赛:连连看(暴力 非AC)</a>
                        <span class="text-muted">遥感小萌新</span>
<a class="tag" taget="_blank" href="/search/%E8%93%9D%E6%A1%A5%E6%9D%AF/1.htm">蓝桥杯</a><a class="tag" taget="_blank" href="/search/%E8%93%9D%E6%A1%A5%E6%9D%AF/1.htm">蓝桥杯</a><a class="tag" taget="_blank" href="/search/%E8%81%8C%E5%9C%BA%E5%92%8C%E5%8F%91%E5%B1%95/1.htm">职场和发展</a>
                        <div>对角线遍历每个元素的左下、右下对角线,检查是否值相等n,m=map(int,input().split())A=[]foriinrange(n):ls=list(map(int,input().split()))A.append(ls)cnt=0foriinrange(n):forjinrange(m):#zuoxiaforpinrange(1,min(n-1-i+1,j+1)):ifA[i+p]</div>
                    </li>
                    <li><a href="/article/1901742034495008768.htm"
                           title="【蓝桥杯】省赛:神奇闹钟" target="_blank">【蓝桥杯】省赛:神奇闹钟</a>
                        <span class="text-muted">遥感小萌新</span>
<a class="tag" taget="_blank" href="/search/%E8%93%9D%E6%A1%A5%E6%9D%AF/1.htm">蓝桥杯</a><a class="tag" taget="_blank" href="/search/%E8%93%9D%E6%A1%A5%E6%9D%AF/1.htm">蓝桥杯</a><a class="tag" taget="_blank" href="/search/%E8%81%8C%E5%9C%BA%E5%92%8C%E5%8F%91%E5%B1%95/1.htm">职场和发展</a>
                        <div>思路python做这题很简单,灵活用datetime库即可codeimportosimportsys#请在此输入您的代码importdatetimestart=datetime.datetime(1970,1,1,0,0,0)for_inrange(int(input())):ls=input().split()end=datetime.datetime.strptime(ls[0]+ls[1],</div>
                    </li>
                    <li><a href="/article/1901715170871275520.htm"
                           title="数字接龙 第十五届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组" target="_blank">数字接龙 第十五届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组</a>
                        <span class="text-muted">Geometry Fu</span>
<a class="tag" taget="_blank" href="/search/%E8%93%9D%E6%A1%A5%E6%9D%AF/1.htm">蓝桥杯</a><a class="tag" taget="_blank" href="/search/%E8%93%9D%E6%A1%A5%E6%9D%AF/1.htm">蓝桥杯</a><a class="tag" taget="_blank" href="/search/c%E8%AF%AD%E8%A8%80/1.htm">c语言</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a>
                        <div>数字接龙题目来源第十五届蓝桥杯大赛软件赛省赛C/C++大学B组原题链接蓝桥杯数字接龙https://www.lanqiao.cn/problems/19712/learning/问题描述题目描述小蓝最近迷上了一款名为《数字接龙》的迷宫游戏,游戏在一个大小为n×nn\timesnn×n的格子棋盘上展开,其中每一个格子处都有着一个0⋯k−10\cdotsk-10⋯k−1之间的整数。游戏规则如下:从左上</div>
                    </li>
                                <li><a href="/article/45.htm"
                                       title="安装数据库首次应用" target="_blank">安装数据库首次应用</a>
                                    <span class="text-muted">Array_06</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a>
                                    <div>可是为什么再一次失败之后就变成直接跳过那个要求 
enter full pathname of java.exe的界面 
 
 
这个java.exe是你的Oracle 11g安装目录中例如:【F:\app\chen\product\11.2.0\dbhome_1\jdk\jre\bin】下的java.exe 。不是你的电脑安装的java jdk下的java.exe! 
注意第一次,使用SQL D</div>
                                </li>
                                <li><a href="/article/172.htm"
                                       title="Weblogic Server Console密码修改和遗忘解决方法" target="_blank">Weblogic Server Console密码修改和遗忘解决方法</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/Welogic/1.htm">Welogic</a>
                                    <div>        在工作中一同事将Weblogic的console的密码忘记了,通过网上查询资料解决,实践整理了一下。 
一.修改Console密码 
        打开weblogic控制台,安全领域 --> myrealm -->&n</div>
                                </li>
                                <li><a href="/article/299.htm"
                                       title="IllegalStateException: Cannot forward a response that is already committed" target="_blank">IllegalStateException: Cannot forward a response that is already committed</a>
                                    <span class="text-muted">Cwind</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/Servlets/1.htm">Servlets</a>
                                    <div>对于初学者来说,一个常见的误解是:当调用 forward() 或者 sendRedirect() 时控制流将会自动跳出原函数。标题所示错误通常是基于此误解而引起的。   示例代码:   
protected void doPost() {
    if (someCondition) {
        sendRedirect();
    }
    forward(); // Thi</div>
                                </li>
                                <li><a href="/article/426.htm"
                                       title="基于流的装饰设计模式" target="_blank">基于流的装饰设计模式</a>
                                    <span class="text-muted">木zi_鸣</span>
<a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a>
                                    <div>当想要对已有类的对象进行功能增强时,可以定义一个类,将已有对象传入,基于已有的功能,并提供加强功能。 
自定义的类成为装饰类 
 
模仿BufferedReader,对Reader进行包装,体现装饰设计模式 
 
装饰类通常会通过构造方法接受被装饰的对象,并基于被装饰的对象功能,提供更强的功能。 
装饰模式比继承灵活,避免继承臃肿,降低了类与类之间的关系 
 
装饰类因为增强已有对象,具备的功能该</div>
                                </li>
                                <li><a href="/article/553.htm"
                                       title="Linux中的uniq命令" target="_blank">Linux中的uniq命令</a>
                                    <span class="text-muted">被触发</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a>
                                    <div>Linux命令uniq的作用是过滤重复部分显示文件内容,这个命令读取输入文件,并比较相邻的行。在正常情 况下,第二个及以后更多个重复行将被删去,行比较是根据所用字符集的排序序列进行的。该命令加工后的结果写到输出文件中。输入文件和输出文件必须不同。如 果输入文件用“- ”表示,则从标准输入读取。 
AD: 
uniq [选项] 文件 
说明:这个命令读取输入文件,并比较相邻的行。在正常情况下,第二个</div>
                                </li>
                                <li><a href="/article/680.htm"
                                       title="正则表达式Pattern" target="_blank">正则表达式Pattern</a>
                                    <span class="text-muted">肆无忌惮_</span>
<a class="tag" taget="_blank" href="/search/Pattern/1.htm">Pattern</a>
                                    <div>正则表达式是符合一定规则的表达式,用来专门操作字符串,对字符创进行匹配,切割,替换,获取。 
  
例如,我们需要对QQ号码格式进行检验 
规则是长度6~12位  不能0开头  只能是数字,我们可以一位一位进行比较,利用parseLong进行判断,或者是用正则表达式来匹配[1-9][0-9]{4,14} 或者 [1-9]\d{4,14} 
&nbs</div>
                                </li>
                                <li><a href="/article/807.htm"
                                       title="Oracle高级查询之OVER (PARTITION BY ..)" target="_blank">Oracle高级查询之OVER (PARTITION BY ..)</a>
                                    <span class="text-muted">知了ing</span>
<a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a>
                                    <div>一、rank()/dense_rank() over(partition by ...order by ...) 
 
现在客户有这样一个需求,查询每个部门工资最高的雇员的信息,相信有一定oracle应用知识的同学都能写出下面的SQL语句: 
 
 select e.ename, e.job, e.sal, e.deptno  
  from scott.emp e,  
       (se</div>
                                </li>
                                <li><a href="/article/934.htm"
                                       title="Python调试" target="_blank">Python调试</a>
                                    <span class="text-muted">矮蛋蛋</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/pdb/1.htm">pdb</a>
                                    <div>原文地址: 
http://blog.csdn.net/xuyuefei1988/article/details/19399137 
1、下面网上收罗的资料初学者应该够用了,但对比IBM的Python 代码调试技巧: 
 
IBM:包括 pdb 模块、利用 PyDev 和 Eclipse 集成进行调试、PyCharm 以及 Debug 日志进行调试: 
 
http://www.ibm.com/d</div>
                                </li>
                                <li><a href="/article/1061.htm"
                                       title="webservice传递自定义对象时函数为空,以及boolean不对应的问题" target="_blank">webservice传递自定义对象时函数为空,以及boolean不对应的问题</a>
                                    <span class="text-muted">alleni123</span>
<a class="tag" taget="_blank" href="/search/webservice/1.htm">webservice</a>
                                    <div>今天在客户端调用方法 
NodeStatus status=iservice.getNodeStatus(). 
 
结果NodeStatus的属性都是null。 
 
进行debug之后,发现服务器端返回的确实是有值的对象。 
 
后来发现原来是因为在客户端,NodeStatus的setter全部被我删除了。 
本来是因为逻辑上不需要在客户端使用setter, 结果改了之后竟然不能获取带属性值的</div>
                                </li>
                                <li><a href="/article/1188.htm"
                                       title="java如何干掉指针,又如何巧妙的通过引用来操作指针————>说的就是java指针" target="_blank">java如何干掉指针,又如何巧妙的通过引用来操作指针————>说的就是java指针</a>
                                    <span class="text-muted">百合不是茶</span>

                                    <div>C语言的强大在于可以直接操作指针的地址,通过改变指针的地址指向来达到更改地址的目的,又是由于c语言的指针过于强大,初学者很难掌握, java的出现解决了c,c++中指针的问题 java将指针封装在底层,开发人员是不能够去操作指针的地址,但是可以通过引用来间接的操作: 
  
定义一个指针p来指向a的地址(&是地址符号): 
        </div>
                                </li>
                                <li><a href="/article/1315.htm"
                                       title="Eclipse打不开,提示“An error has occurred.See the log file ***/.log”" target="_blank">Eclipse打不开,提示“An error has occurred.See the log file ***/.log”</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/eclipse/1.htm">eclipse</a>
                                    <div>打开eclipse工作目录的\.metadata\.log文件,发现如下错误: 
 
!ENTRY org.eclipse.osgi 4 0 2012-09-10 09:28:57.139 
!MESSAGE Application error 
!STACK 1 
java.lang.NoClassDefFoundError: org/eclipse/core/resources/IContai</div>
                                </li>
                                <li><a href="/article/1442.htm"
                                       title="spring aop实例annotation方法实现" target="_blank">spring aop实例annotation方法实现</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/AOP/1.htm">AOP</a><a class="tag" taget="_blank" href="/search/annotation/1.htm">annotation</a>
                                    <div>        在spring aop实例中我们通过配置xml文件来实现AOP,这里学习使用annotation来实现,使用annotation其实就是指明具体的aspect,pointcut和advice。1.申明一个切面(用一个类来实现)在这个切面里,包括了advice和pointcut 
AdviceMethods.jav</div>
                                </li>
                                <li><a href="/article/1569.htm"
                                       title="[Velocity一]Velocity语法基础入门" target="_blank">[Velocity一]Velocity语法基础入门</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/velocity/1.htm">velocity</a>
                                    <div>用户和开发人员参考文档 
http://velocity.apache.org/engine/releases/velocity-1.7/developer-guide.html 
  注释 
1.行级注释## 
2.多行注释#*  *# 
  变量定义 
使用$开头的字符串是变量定义,例如$var1, $var2, 
  赋值 
使用#set为变量赋值,例</div>
                                </li>
                                <li><a href="/article/1696.htm"
                                       title="【Kafka十一】关于Kafka的副本管理" target="_blank">【Kafka十一】关于Kafka的副本管理</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/kafka/1.htm">kafka</a>
                                    <div>1. 关于request.required.acks 
  
request.required.acks控制者Producer写请求的什么时候可以确认写成功,默认是0, 
0表示即不进行确认即返回。 
1表示Leader写成功即返回,此时还没有进行写数据同步到其它Follower Partition中 
-1表示根据指定的最少Partition确认后才返回,这个在 
  
Th</div>
                                </li>
                                <li><a href="/article/1823.htm"
                                       title="lua统计nginx内部变量数据" target="_blank">lua统计nginx内部变量数据</a>
                                    <span class="text-muted">ronin47</span>
<a class="tag" taget="_blank" href="/search/lua+nginx%E3%80%80+%E7%BB%9F%E8%AE%A1/1.htm">lua nginx  统计</a>
                                    <div>server {
    listen 80;
    server_name photo.domain.com;
    location /{set $str $uri;
        content_by_lua '
            local url = ngx.var.uri
            local res = ngx.location.capture(</div>
                                </li>
                                <li><a href="/article/1950.htm"
                                       title="java-11.二叉树中节点的最大距离" target="_blank">java-11.二叉树中节点的最大距离</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>
import java.util.ArrayList;
import java.util.List;


public class MaxLenInBinTree {

	/*
	 a.			1
	 		   /  \
	 		  2    3
	 		 / \  / \
	 		4   5 6  7
	 	max=4	pass "root"
	 </div>
                                </li>
                                <li><a href="/article/2077.htm"
                                       title="Netty源码学习-ReadTimeoutHandler" target="_blank">Netty源码学习-ReadTimeoutHandler</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/netty/1.htm">netty</a>
                                    <div> 
ReadTimeoutHandler的实现思路: 
开启一个定时任务,如果在指定时间内没有接收到消息,则抛出ReadTimeoutException 
这个异常的捕获,在开发中,交给跟在ReadTimeoutHandler后面的ChannelHandler,例如 
 
 

private final ChannelHandler timeoutHandler =
	new ReadTim</div>
                                </li>
                                <li><a href="/article/2204.htm"
                                       title="jquery验证上传文件样式及大小(好用)" target="_blank">jquery验证上传文件样式及大小(好用)</a>
                                    <span class="text-muted">cngolon</span>
<a class="tag" taget="_blank" href="/search/%E6%96%87%E4%BB%B6%E4%B8%8A%E4%BC%A0/1.htm">文件上传</a><a class="tag" taget="_blank" href="/search/jquery%E9%AA%8C%E8%AF%81/1.htm">jquery验证</a>
                                    <div><!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <script src="jquery1.8/jquery-1.8.0.</div>
                                </li>
                                <li><a href="/article/2331.htm"
                                       title="浏览器兼容【转】" target="_blank">浏览器兼容【转】</a>
                                    <span class="text-muted">cuishikuan</span>
<a class="tag" taget="_blank" href="/search/css/1.htm">css</a><a class="tag" taget="_blank" href="/search/%E6%B5%8F%E8%A7%88%E5%99%A8/1.htm">浏览器</a><a class="tag" taget="_blank" href="/search/IE/1.htm">IE</a>
                                    <div>浏览器兼容问题一:不同浏览器的标签默认的外补丁和内补丁不同 
 
问题症状:随便写几个标签,不加样式控制的情况下,各自的margin 和padding差异较大。 
 
碰到频率:100% 
 
解决方案:CSS里    *{margin:0;padding:0;} 
 
备注:这个是最常见的也是最易解决的一个浏览器兼容性问题,几乎所有的CSS文件开头都会用通配符*来设</div>
                                </li>
                                <li><a href="/article/2458.htm"
                                       title="Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数" target="_blank">Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数</a>
                                    <span class="text-muted">daizj</span>
<a class="tag" taget="_blank" href="/search/shell/1.htm">shell</a><a class="tag" taget="_blank" href="/search/%24%23/1.htm">$#</a><a class="tag" taget="_blank" href="/search/%24%3F/1.htm">$?</a><a class="tag" taget="_blank" href="/search/%E7%89%B9%E6%AE%8A%E5%8F%98%E9%87%8F/1.htm">特殊变量</a>
                                    <div>前面已经讲到,变量名只能包含数字、字母和下划线,因为某些包含其他字符的变量有特殊含义,这样的变量被称为特殊变量。例如,$ 表示当前Shell进程的ID,即pid,看下面的代码:   
 
  $echo $$  
   
运行结果 
29949 
   特殊变量列表   变量 含义   $0 当前脚本的文件名   $n 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个</div>
                                </li>
                                <li><a href="/article/2585.htm"
                                       title="程序设计KISS 原则-------KEEP IT SIMPLE, STUPID!" target="_blank">程序设计KISS 原则-------KEEP IT SIMPLE, STUPID!</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/unix/1.htm">unix</a>
                                    <div>翻到一本书,讲到编程一般原则是kiss:Keep It Simple, Stupid.对这个原则深有体会,其实不仅编程如此,而且系统架构也是如此。 
 KEEP IT SIMPLE, STUPID! 编写只做一件事情,并且要做好的程序;编写可以在一起工作的程序,编写处理文本流的程序,因为这是通用的接口。这就是UNIX哲学.所有的哲学真 正的浓缩为一个铁一样的定律,高明的工程师的神圣的“KISS 原</div>
                                </li>
                                <li><a href="/article/2712.htm"
                                       title="android Activity间List传值" target="_blank">android Activity间List传值</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/Activity/1.htm">Activity</a>
                                    <div>第一个Activity: 
import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import a</div>
                                </li>
                                <li><a href="/article/2839.htm"
                                       title="tomcat 设置java虚拟机内存" target="_blank">tomcat 设置java虚拟机内存</a>
                                    <span class="text-muted">eksliang</span>
<a class="tag" taget="_blank" href="/search/tomcat+%E5%86%85%E5%AD%98%E8%AE%BE%E7%BD%AE/1.htm">tomcat 内存设置</a>
                                    <div>转载请出自出处:http://eksliang.iteye.com/blog/2117772 
http://eksliang.iteye.com/ 
常见的内存溢出有以下两种: 
java.lang.OutOfMemoryError: PermGen space  
java.lang.OutOfMemoryError: Java heap space 
  
------------</div>
                                </li>
                                <li><a href="/article/2966.htm"
                                       title="Android 数据库事务处理" target="_blank">Android 数据库事务处理</a>
                                    <span class="text-muted">gqdy365</span>
<a class="tag" taget="_blank" href="/search/android/1.htm">android</a>
                                    <div>使用SQLiteDatabase的beginTransaction()方法可以开启一个事务,程序执行到endTransaction() 方法时会检查事务的标志是否为成功,如果程序执行到endTransaction()之前调用了setTransactionSuccessful() 方法设置事务的标志为成功则提交事务,如果没有调用setTransactionSuccessful() 方法则回滚事务。事</div>
                                </li>
                                <li><a href="/article/3093.htm"
                                       title="Java 打开浏览器" target="_blank">Java 打开浏览器</a>
                                    <span class="text-muted">hw1287789687</span>
<a class="tag" taget="_blank" href="/search/%E6%89%93%E5%BC%80%E7%BD%91%E5%9D%80/1.htm">打开网址</a><a class="tag" taget="_blank" href="/search/open%E6%B5%8F%E8%A7%88%E5%99%A8/1.htm">open浏览器</a><a class="tag" taget="_blank" href="/search/open+browser/1.htm">open browser</a><a class="tag" taget="_blank" href="/search/%E6%89%93%E5%BC%80url/1.htm">打开url</a><a class="tag" taget="_blank" href="/search/%E6%89%93%E5%BC%80%E6%B5%8F%E8%A7%88%E5%99%A8/1.htm">打开浏览器</a>
                                    <div>使用java 语言如何打开浏览器呢? 
我们先研究下在cmd窗口中,如何打开网址 
使用IE 打开 
D:\software\bin>cmd /c start iexplore http://hw1287789687.iteye.com/blog/2153709 
使用火狐打开 
D:\software\bin>cmd /c start firefox http://hw1287789</div>
                                </li>
                                <li><a href="/article/3220.htm"
                                       title="ReplaceGoogleCDN:将 Google CDN 替换为国内的 Chrome 插件" target="_blank">ReplaceGoogleCDN:将 Google CDN 替换为国内的 Chrome 插件</a>
                                    <span class="text-muted">justjavac</span>
<a class="tag" taget="_blank" href="/search/chrome/1.htm">chrome</a><a class="tag" taget="_blank" href="/search/Google/1.htm">Google</a><a class="tag" taget="_blank" href="/search/google+api/1.htm">google api</a><a class="tag" taget="_blank" href="/search/chrome%E6%8F%92%E4%BB%B6/1.htm">chrome插件</a>
                                    <div>Chrome Web Store 安装地址: https://chrome.google.com/webstore/detail/replace-google-cdn/kpampjmfiopfpkkepbllemkibefkiice 
 
 由于众所周知的原因,只需替换一个域名就可以继续使用Google提供的前端公共库了。 同样,通过script标记引用这些资源,让网站访问速度瞬间提速吧</div>
                                </li>
                                <li><a href="/article/3347.htm"
                                       title="进程VS.线程" target="_blank">进程VS.线程</a>
                                    <span class="text-muted">m635674608</span>
<a class="tag" taget="_blank" href="/search/%E7%BA%BF%E7%A8%8B/1.htm">线程</a>
                                    <div>资料来源: 
http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001397567993007df355a3394da48f0bf14960f0c78753f000 1、Apache最早就是采用多进程模式 2、IIS服务器默认采用多线程模式 3、多进程优缺点 优点: 
多进程模式最大</div>
                                </li>
                                <li><a href="/article/3474.htm"
                                       title="Linux下安装MemCached" target="_blank">Linux下安装MemCached</a>
                                    <span class="text-muted">字符串</span>
<a class="tag" taget="_blank" href="/search/memcached/1.htm">memcached</a>
                                    <div>前提准备:1. MemCached目前最新版本为:1.4.22,可以从官网下载到。2. MemCached依赖libevent,因此在安装MemCached之前需要先安装libevent。2.1 运行下面命令,查看系统是否已安装libevent。[root@SecurityCheck ~]# rpm -qa|grep libevent libevent-headers-1.4.13-4.el6.n</div>
                                </li>
                                <li><a href="/article/3601.htm"
                                       title="java设计模式之--jdk动态代理(实现aop编程)" target="_blank">java设计模式之--jdk动态代理(实现aop编程)</a>
                                    <span class="text-muted">Supanccy2013</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/DAO/1.htm">DAO</a><a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a><a class="tag" taget="_blank" href="/search/AOP/1.htm">AOP</a>
                                    <div>    与静态代理类对照的是动态代理类,动态代理类的字节码在程序运行时由Java反射机制动态生成,无需程序员手工编写它的源代码。动态代理类不仅简化了编程工作,而且提高了软件系统的可扩展性,因为Java 反射机制可以生成任意类型的动态代理类。java.lang.reflect 包中的Proxy类和InvocationHandler 接口提供了生成动态代理类的能力。 
&</div>
                                </li>
                                <li><a href="/article/3728.htm"
                                       title="Spring 4.2新特性-对java8默认方法(default method)定义Bean的支持" target="_blank">Spring 4.2新特性-对java8默认方法(default method)定义Bean的支持</a>
                                    <span class="text-muted">wiselyman</span>
<a class="tag" taget="_blank" href="/search/spring+4/1.htm">spring 4</a>
                                    <div>2.1 默认方法(default method) 
 
 java8引入了一个default medthod; 
 用来扩展已有的接口,在对已有接口的使用不产生任何影响的情况下,添加扩展 
 使用default关键字 
 Spring 4.2支持加载在默认方法里声明的bean 
  
2.2 
 
 将要被声明成bean的类 
  
public class DemoService {
    </div>
                                </li>
                </ul>
            </div>
        </div>
    </div>

<div>
    <div class="container">
        <div class="indexes">
            <strong>按字母分类:</strong>
            <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a
                href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a
                href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a
                href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a
                href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a
                href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a
                href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a
                href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a
                href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a>
        </div>
    </div>
</div>
<footer id="footer" class="mb30 mt30">
    <div class="container">
        <div class="footBglm">
            <a target="_blank" href="/">首页</a> -
            <a target="_blank" href="/custom/about.htm">关于我们</a> -
            <a target="_blank" href="/search/Java/1.htm">站内搜索</a> -
            <a target="_blank" href="/sitemap.txt">Sitemap</a> -
            <a target="_blank" href="/custom/delete.htm">侵权投诉</a>
        </div>
        <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved.
<!--            <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>-->
        </div>
    </div>
</footer>
<!-- 代码高亮 -->
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script>
<link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/>
<script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script>





</body>

</html>