Markdown语法快速学习

38次阅读

共计 5582 个字符,预计需要花费 14 分钟才能阅读完成。

标题

# 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*$) (可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式)

正文完
 0