分类 默认分类 下的文章

每次都百度,不如总结一起。方便复制粘贴

1. python 豆瓣源

 -i http://pypi.douban.com/simple/ --trusted-host=pypi.douban.com/simple

2. ubuntu 20 源

deb https://mirrors.ustc.edu.cn/ubuntu/ focal main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse

3. selenium

chrome 下载

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i google-chrome*.deb
google-chrome --version

chromedriver下载路径:
http://npm.taobao.org/mirrors/chromedriver/

客户需求:

A、B、C、D选项→ABCD选项
A、B、C、D其他→A、B、C、D其他

选项不定

当选项后面是"选项"的时候,替换掉、后面是其他的时候,不替换

思路:

替换一般可以匹配分组或者直接匹配要替换的字符。因为选项是不定的,所以不能用分组。

那么,就匹配 "、" 吧。

" 、" 前面是字母,逆向环视:(?<=[A-Z])

必须以 字母+选项 结尾,正向环视: (?=.*?[A-Z]选项$)

于是得到正则表达式

(?<=[A-Z])、(?=.*?选项$)

需求发生变化:

$A$、$B$、$C$、$D$选项
$A$、$B$、$C$、$D$、$E$选项
$A$、$B$、$C$选项
替换掉 $和、

$A$、$B$、$C$、选项 ,这种不替换

要替换掉$ 不是简单修改几个符号就能解决的,

分三步:

  1. 每个字母前面都有一个$,匹配这个$。\$(?=[A-Z])
  2. 匹配字母后面的 $、 。(?<=[A-Z])\$、
  3. 匹配选项前面的 $ 。 \$(?=选项$)

每句最后边是 $选项。(?=.*\$选项$)

选项前面的 \$ 也要替换掉

得到正则表达式:

((\$(?=[A-Z])|(?<=[A-Z])\$、)(?=.*\$选项$)|\$(?=选项$))

项目开发完给群里朋友看的时候,被指出 “信息都输出到控制台了!!!”

在开发过程中忘记注释console.log 怎么才能高速的全部注释了,高效又准确?

当然是正则表达式

处理思路:

  1. 第一种情况: 一般在 console 前面有空白字符(空格,换行,制表符)
  2. 第二种情况: 在行首直接出现console
  3. console 前面不能有 //
  4. 不能匹配到 console 。因为我们要注释它而不是删除。
  5. 那么,就匹配console前面的一个空格吧。不能用 s ,替换了换行符,代码就不好看了

综上,得出正则表达式

(?<!//.*)( |^)(?=console\.log)

匹配到的结果:

image-20200328211604325.png

正则解释

(?<!//. ) 表示左边不能有 // 其中 . 是匹配除了‘换行’的任意内容, 相当于 {0,} 表示匹配0次到无穷大次。

( |^) 其中 | 的左边是个空格,右边的^ 表示‘行开头’。整体的意思就是匹配空格或者行开头

(?=console\.log) 表示右边是 console.log