-1

私は以下のようないくつかのURLを持っています:

https://example.com/file/filegetrevision.do?fileEntityId=738007
9&cs=4Pzbb2jPu3EHBzv8RQHrGcPm4hZZkRC-CfH0my4dP0M.arv


https://example.com/file/filegetrevision.do?fileEntityId=&cs=2L
5cx4UsMsFJgM05pPtB_Z8dRdL4CXLLcTeDhGPDBIg.arv


https://example.com/file/filegetrevision.do?fileEntityId=2555874&cs=2L
5cx4UsMsFJgM05pPtB_Z8dRdL4CXLLcTeDhGPDBIg.arv

今、どの URL に含まれているかnumbersfileEntityIdまたは含まれていないかを確認する必要がありますか? この点で何か助けはありますか?1 番目と 3 番目の URL には7380072555874の数字がありますfileEntityIdが、2 番目の URL にはありません。

ありがとう

4

2 に答える 2

1

ここでは、正規表現を使用して、文字列に "fileEntityId=" の後に 1 つ以上の数字が続くかどうかを調べます。

urls = ['https://example.com/file/filegetrevision.do?fileEntityId=7380079&cs=4Pzbb2jPu3EHBzv8RQHrGcPm4hZZkRC-CfH0my4dP0M.arv',
  'https://example.com/file/filegetrevision.do?fileEntityId=&cs=2L5cx4UsMsFJgM05pPtB_Z8dRdL4CXLLcTeDhGPDBIg.arv',
  'https://example.com/file/filegetrevision.do?fileEntityId=2555874&cs=2L5cx4UsMsFJgM05pPtB_Z8dRdL4CXLLcTeDhGPDBIg.arv']


urls.map {|u| !!(u =~ /fileEntityId=\d+/)} # => [true, false, true]
于 2013-01-24T04:43:10.830 に答える
1

私は正規表現が大好きですが、標準ライブラリにはより適切なツールが含まれています。

require 'uri'
require 'cgi'

url = "https://example.com/file/filegetrevision.do?fileEntityId=7380079&cs=4Pzbb2jPu3EHBzv8RQHrGcPm4hZZkRC-CfH0my4dP0M.arv"
query = URI::parse(url).query # => "fileEntityId=7380079&cs=4Pzbb2jPu3EHBzv8RQHrGcPm4hZZkRC-CfH0my4dP0M.arv"
fileEntityId = CGI::parse(query)['fileEntityId'] # => ["7380079"]

次に、それが数字かどうかを確認できます。

于 2013-01-24T05:33:41.850 に答える