我有html文本和编程代码(Generic),没有任何区别或标记。有一种方法可以为代码的开头和结尾添加标记,适用于任何编程代码吗?
例如:
start message
Hello this is an example
int main(){
char word1[21],word2[21];
int first;
printf("Type in the first word (maximum 20 characters):\n");
scanf("%20s",word1);
other text
ends
我想获得:
Hello this is an example
'''
int main(){
char word1[21],word2[21];
int first;
printf("Type in the first word (maximum 20 characters):\n");
scanf("%20s",word1);
'''
other text
答案 0 :(得分:2)
让我试试答案:
在您给出的限制范围内(无),这是不可能的。
如果您对期望的编程语言以及期望的其他非编程文本(语言,科学,街头语言)没有限制,并且您也完全没有分隔符,则无法区分这两种。< / p>
问题是那里有编程语言可能看起来非常像普通文本 - 特别是如果样本量很小。
如果您有十几行Tcl或Rebol,您可以对此进行统计分析。标点符号和特殊字符与普通文本的预期(低)值。如果代码总是通过新段落或至少换行符号与文本分开,则这种方式尤其有效。
但即便如此,这真的很难。一个REBOL example:
REBOL [
Title: "REBOL/Services Simple Example"
Author: "Carl Sassenrath"
Version: 1.0.0
]
url: http://www.rebol.net/cgi-bin/services.r
print "Loading client..." ; Used until it is built-into REBOL
do http://www.rebol.net/rebservices/client.r
print "Sending command..."
result: do-service url [info]
print ["Result:" mold/only result]
ask "Done."
以上段落非常类似于带有脚注[info]
和url引用的科学文本。
也许html中的代码前后总是有<br>
或<p>
?
然而,对于非常短的代码片段,这样的分析可能会失败。您的html也可能包含非常接近编程语言的文本。将数学方程式或公式与Lisp或R
等内容进行比较x <- c(10.4, 5.6, 3.1, 6.4, 21.7)
上述与数学主题的论文有何不同?
所以你必须妥协。
一些方法:
<br>
,或<p>
甚至只是\n
是有效的分隔符。当然html包含<verbatim>
或其他标签来分隔代码?然后对
进行一些统计分析