Markdown语法快速学习

wangyuanqi

标题

# H1
## H2
### H3
#### H4
##### H5
###### H6
  • 对于H1和H2,有下划线样式可供选择:
  Alt-H1
  ======

  Alt-H2
  ------

强调

  强调,又叫做斜体,使用 *星号* 或 _下划线_。

  重点强调,又叫做粗体,使用 **星号** 或 __下划线__。

  使用 **星号和_下划线_** 组合使用强调。

  删除线使用两个波浪线。~~划掉这个~~

列表

  • 在这个例子中,前导空格和尾部空格显示为圆点 : ⋅)
  1. 有序列表的第一项
  2. 另外一个项
  ..* 无序子列表
  1. 事实上序号不起作用,那只是一个数字而已
  ..1. 有序子列表
  4. 最后一个项

  ...你可以适当的缩紧列表项中的段落。注意上面的空行和前导空格(至少一个,但是这里我们使用三个来对齐原始的Markdown内容)。

  ...换行而不形成段落,你需要使用两个尾部空格。..
  ...注意这行是分开的,但还在同一个段落中。..
  ...(这个违背了不需要尾部空格的典型的GFM换行行为)。

  * 无序列表可以使用星号
  - 或者减号
  + 或者加号

链接

有两种创建链接的方式。

  [内嵌式链接](https://www.google.com)

  [带标题的内嵌式链接](https://www.google.com "谷歌的主页")

  [引用式链接][arbitrary case-insensitive reference text]

  [相对引用一个库文件](../blob/master/LICENSE)

  [你可以在引用式链接定义中使用数字][1]

  或者空着什么都不写 [link text itself]

  用来说明引用链接的文字可以放在后面。

  [arbitrary case-insensitive reference text]: https://www.mozilla.org
  [1]: http://slashdot.org
  [link text itself]: http://www.reddit.com

脚注

Markdown默认使用的脚注样式链接不会在页面中显示。有时包含一个读者可见的非超链接注脚很有用。对于这样的注脚,GitBook支持的一种简单的语法。

  Text prior to footnote reference.[^2]
  [^2]: Comment to include in footnote.

图片

  这是我们的logo(停留查看标题)

  内嵌式
  ![alt text](https://github.com/adam-p/markdown-here/raw/master/src/common/images/icon48.png "Logo Title Text 1")

  引用式
  ![alt text][logo]

  [logo]: https://github.com/adam-p/markdown-here/raw/master/src/common/images/icon48.png "Logo Title Text 2"

代码和语法高亮

var s = "JavaScript语法高亮";
alert(s);

s = "Python语法高亮"
print s

没有指明语言,所有没有语法高亮。
让我们随便写个标签试试 tag

表格

表格不是Markdown规范的核心部分,但是它是GFM的一部分,这里的Markdown也支持它。

  冒号可以用来对其列。

  | Tables        | Are           | Cool  |
  | ------------- |:-------------:| -----:|
  | col 3 is      | right-aligned | $1600 |
  | col 2 is      | centered      |   $12 |
  | zebra stripes | are neat      |    $1 |

  The outer pipes (|) are optional, and you don't need to make the raw Markdown line up prettily. You can also use inline Markdown.

  外部的管道符 (|) 是可选的,而且不需要优雅的排列Markdown。你还可以在表格中内嵌其他Markdown。

  Markdown | Less | Pretty
  --- | --- | ---
  *Still* | `renders` | **nicely**
  1 | 2 | 3

块引用

  > 在邮件中块引用中很方便用来仿真文本的回复。
  > 这行是同一个块的一部分。

  引用结束

  > 当这行很长的文字被包裹的时候,它依然会被恰当的引用。让我们继续写下去来确保包裹它时对于每个人来说它足够长。你可以*在*块引用中使用其它**Markdown**。

内嵌HTML

You can also use raw HTML in your Markdown, and it'll mostly work pretty well.

你同样可以在Markdown中使用HTML,并且它能很好的工作。

  <dl>
    <dt>Definition list</dt>
    <dd>Is something people use sometimes.</dd>

    <dt>Markdown in HTML</dt>
    <dd>Does *not* work **very** well. Use HTML <em>tags</em>.</dd>
  </dl>

水平线

  三个或者更多...

  ---

  连字符

  ***

  星号

  ___

  下划线

换行符

关于学习换行符是如何工作的,我的建议是去亲身实践并总结 -- 敲击 键一次(也就是插入一个换行符),然后再敲击它两次(也就是插入两个换行),看一下发生了什么。不久你就能学会它。"Markdown Toggle" 是你的朋友。

这里有一些东西可以尝试一下:

我们以这行作为开始。

This line is separated from the one above by two newlines, so it will be a *separate paragraph*.

这行与上面那行被两个换行符分隔,所以它会成为一个 *单独的段落*。

This line is also a separate paragraph, but...
This line is only separated by a single newline, so it's a separate line in the *same paragraph*.

这行同样是一个单独的段落,但是...
这行仅仅被一个换行符分隔,所以它是一个在 *同一段落* 中的单独的行。

视频

视频不能被直接添加,但你可以添加一个链接至视频的图片,像这样:

<a href="http://www.youtube.com/watch?feature=player_embedded&v=YOUTUBE_VIDEO_ID_HERE
" target="_blank"><img src="http://img.youtube.com/vi/YOUTUBE_VIDEO_ID_HERE/0.jpg"
alt="IMAGE ALT TEXT HERE" width="240" height="180" border="10" /></a>

或者,使用纯Markdown,但是会丢失掉图片的大小和边框:

  [![IMAGE ALT TEXT HERE](http://img.youtube.com/vi/YOUTUBE_VIDEO_ID_HERE/0.jpg)](http://www.youtube.com/watch?v=YOUTUBE_VIDEO_ID_HERE)

常用正则表达式

一、校验数字的表达式

  1. 数字:^[0-9]*$
  2. n位的数字:^d{n}$
  3. 至少n位的数字:^d{n,}$
  4. m-n位的数字:^d{m,n}$
  5. 零和非零开头的数字:^(0|1-9*)$
  6. 非零开头的最多带两位小数的数字:^(1-9*)+(.[0-9]{1,2})?$
  7. 带1-2位小数的正数或负数:^(-)?d+(.d{1,2})?$
  8. 正数、负数、和小数:^(-|+)?d+(.d+)?$
  9. 有两位小数的正实数:^[0-9]+(.[0-9]{2})?$
  10. 有1~3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$
  11. 非零的正整数:^[1-9]d$ 或 ^([1-9][0-9]*){1,3}$ 或 ^+?1-9$
  12. 非零的负整数:^-[1-9][]0-9"*$ 或 ^-[1-9]\d*$
  13. 非负整数:^d+$ 或 ^[1-9]\d*|0$
  14. 非正整数:^-[1-9]d*|0$ 或 ^((-\d+)|(0+))$
  15. 非负浮点数:^d+(.d+)?$ 或 ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$
  16. 非正浮点数:^((-d+(.d+)?)|(0+(.0+)?))$ 或 ^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$
  17. 正浮点数:^[1-9]d.d|0.d[1-9]d$ 或 ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$
  18. 负浮点数:^-([1-9]d.d|0.d[1-9]d)$ 或 ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$
  19. 浮点数:^(-?d+)(.d+)?$ 或 ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$

二、校验字符的表达式

  1. 汉字:^[u4e00-u9fa5]{0,}$
  2. 英文和数字:^[A-Za-z0-9]+$ 或 ^[A-Za-z0-9]{4,40}$
  3. 长度为3-20的所有字符:^.{3,20}$
  4. 由26个英文字母组成的字符串:^[A-Za-z]+$
  5. 由26个大写英文字母组成的字符串:^[A-Z]+$
  6. 由26个小写英文字母组成的字符串:^[a-z]+$
  7. 由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$
  8. 由数字、26个英文字母或者下划线组成的字符串:^w+$ 或 ^\w{3,20}$
  9. 中文、英文、数字包括下划线:^[u4E00-u9FA5A-Za-z0-9_]+$
  10. 中文、英文、数字但不包括下划线等符号:^[u4E00-u9FA5A-Za-z0-9]+$ 或 ^[\u4E00-\u9FA5A-Za-z0-9]{2,20}$

三、特殊需求表达式

  1. Email地址:^w+([-+.]w+)@w+([-.]w+).w+([-.]w+)*$
  2. 域名:a-zA-Z0-9{0,62}(/.a-zA-Z0-9{0,62})+/.?
  3. 手机号码:^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])d{8}$
  4. 电话号码("XXX-XXXXXXX"、"XXXX-XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX):^((d{3,4}-)|d{3.4}-)?d{7,8}$
  5. 国内电话号码(0511-4405222、021-87888822):d{3}-d{8}|d{4}-d{7}
  6. 身份证号(15位、18位数字):^d{15}|d{18}$
  7. 短身份证号码(数字、字母x结尾):^([0-9]){7,18}(x|X)?$ 或 ^\d{8,18}|[0-9x]{8,18}|[0-9X]{8,18}?$
  8. 帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^a-zA-Z{4,15}$
  9. 密码(以字母开头,长度在6~18之间,只能包含字母、数字和下划线):^[a-zA-Z]w{5,17}$
  10. 强密码(必须包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间):^(?=.d)(?=.[a-z])(?=.*[A-Z]).{8,10}$
  11. 日期格式:^d{4}-d{1,2}-d{1,2}
  12. 一年的12个月(01~09和1~12):^(0?[1-9]|1[0-2])$
  13. 一个月的31天(01~09和1~31):^((0?[1-9])|((1|2)[0-9])|30|31)$
  14. 钱的输入格式:
  15. 有四种钱的表示形式我们可以接受:"10000.00" 和 "10,000.00", 和没有 "分" 的 "10000" 和 "10,000":^1-9*$
  16. 这表示任意一个不以0开头的数字,但是,这也意味着一个字符"0"不通过,所以我们采用下面的形式:^(0|1-9*)$
  17. 一个0或者一个不以0开头的数字.我们还可以允许开头有一个负号:^(0|-?1-9*)$
  18. 这表示一个0或者一个可能为负的开头不为0的数字.让用户以0开头好了.把负号的也去掉,因为钱总不能是负的吧.下面我们要加的是说明可能的小数部分:^[0-9]+(.[0-9]+)?$
  19. 必须说明的是,小数点后面至少应该有1位数,所以"10."是不通过的,但是 "10" 和 "10.2" 是通过的:^[0-9]+(.[0-9]{2})?$
  20. 这样我们规定小数点后面必须有两位,如果你认为太苛刻了,可以这样:^[0-9]+(.[0-9]{1,2})?$
  21. 这样就允许用户只写一位小数.下面我们该考虑数字中的逗号了,我们可以这样:^[0-9]{1,3}(,[0-9]{3})*(.[0-9]{1,2})?$
  22. 到3个数字,后面跟着任意个 逗号+3个数字,逗号成为可选,而不是必须:^([0-9]+|[0-9]{1,3}(,[0-9]{3})*)(.[0-9]{1,2})?$
  23. 备注:这就是最终结果了,别忘了"+"可以用"*"替代如果你觉得空字符串也可以接受的话(奇怪,为什么?)最后,别忘了在用函数时去掉去掉那个反斜杠,一般的错误都在这里
  24. xml文件:^([a-zA-Z]+-?)+[a-zA-Z0-9]+\.x|X[l|L]$
  25. 中文字符的正则表达式:[u4e00-u9fa5]
  26. 空白行的正则表达式:ns*r (可以用来删除空白行)
  27. 首尾空白字符的正则表达式:^s|s$或(^\s*)|(\s*$) (可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式)
阅读 641
120 声望
2 粉丝
0 条评论
120 声望
2 粉丝
宣传栏